在ModelForm中,我必须测试用户权限,让他们填写正确的字段:
它的定义如下:
class TitleForm(ModelForm):
def __init__(self, user, *args, **kwargs):
super(TitleForm,self).__init__(*args, **kwargs)
choices = ['','----------------']
# company
if user.has_perm("myapp.perm_company"):
self.fields['company'] = forms.ModelChoiceField(widget=forms.HiddenInput(),
queryset=Company.objects.all(), required=False)
choices.append(1,'Company')
# association
if user.has_perm("myapp.perm_association")
self.fields['association'] =
forms.ModelChoiceField(widget=forms.HiddenInput(),
queryset=Association.objects.all(), required=False)
choices.append(2,'Association')
# choices
self.fields['type_resource'] = forms.ChoiceField(choices = choices)
class Meta:
Model = Title
Run Code Online (Sandbox Code Playgroud)
这个ModelForm可以完成这项工作:我隐藏了模板上的每个字段,并且由于javascript而使它们出现......
问题是这个ModelForm是模型中定义的每个字段都将显示在模板上.
如果不需要,我想从表单中删除它们:
例如:如果用户对模型公司没有权利,则不会在模板中的呈现形式中使用它.
问题是你必须将字段列表放在带有字段或排除属性的表单的Meta类中,但我不知道如何动态地管理它们.
任何的想法??
感谢提前回答任何问题.
我启动Selenium hub从端口4444上的命令提示符启动Selenium Grid.现在我从其他命令提示符启动Selenium RC.
它向我显示错误消息"Selenium已在端口4444上运行.或者其他一些服务是......"
现在我无法启动Selenium RC.请帮我如何从命令提示符关闭/关闭集线器.
在我创建的新项目中添加对Microsoft.Search.Interop.dll库的引用时出现此错误.
Microsoft.Search.Interop.dll是一个库,它提供了一些与Windows搜索通信的有用API.我使用它来向系统索引器添加文件夹.
有没有其他人得到这个错误,如果是这样,我该如何解决它?
我在Windows Server 2008上使用VS2010 RC,如果这很重要的话.
我已多次阅读过Build and Analyze并不完美.当我运行它时,它确实产生了一些有用的信息并且肯定改进了我的代码,但它也提供了不是必要问题的结果.在那一刻我正在改变我的代码,试图摆脱所有的分析结果,无论它们是否是一个问题.这是最好的做法,因为像警告那样很容易检查你是否有问题,或者我是否应该认识到分析仪并不完美并且除非找到真正的问题,否则不要更改代码?
我正在尝试使用带有层次结构的类别表来构建导航系统.通常,该表定义如下:
id (int) - Primary key
name (varchar) - Name of the Category
parentid (int) - Parent ID of this Category referenced to same table (Self Join)
Run Code Online (Sandbox Code Playgroud)
但问题是,我要求一个类别可以是多个父类别的子类.就像一个拥有和属于许多(HABTM)的关系.
我知道如果有两个表,类别和项目,我们使用连接表categories_items列出HABTM关系.但在这里,我没有两张桌子,只有桌子,但应该以某种方式显示HABTM关系.这是可以使用单个表吗?如果是,怎么样?如果不可能,我应该在创建附加连接表时遵循哪些规则(表命名,字段)?
我正在尝试使用CakePHP实现这一点,如果有人可以为这个问题提供CakePHP解决方案,那将是非常棒的.即使这是不可能的,任何关于创建连接表的解决方案都是值得赞赏的.谢谢你的时间.
- 编辑 - 我的问题似乎有点令人困惑,所以我正在努力重申我正在寻找的东西.在传统的自引用(自联接)父子关系中,每个项目只能有一个父项.我正在寻找的是模拟HABTM关系,即每个项目的多个父母.
类别和项目 - 要定义HABTM,我们使用categories_items连接表.
如果在类别中我需要HABTM,我该怎么办?
好的,所以我想让我的边框css仅适用于ie8或更早版本(因为它出来时不是ie9).
目的:这样,即缺失的阴影将被边框替换:
*黑客似乎没有工作?我在ie8本地测试......
input, textarea{
display:block;
border:none;
*border: 1px solid #000;
-moz-box-shadow: 0px 0px 1px 1px #999;
-webkit-box-shadow: 0px 0px 1px 1px #999;
box-shadow: 0px 0px 1px 1px #999;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
margin: 1px 0px 10px 0px;
font-size:12px;
color:#494949;
}
Run Code Online (Sandbox Code Playgroud) git存储库的正则表达式是什么?
示例链接:git@github.com:someone/someproject.git
所以它就像[user] @ [server]:[project] .git
服务器可以是url或ip项目可以包含除字母数字之外的其他一些字符,如' - '我不确定'/'的作用是什么
有什么建议?
我是正则表达式的相对新手(尽管我已成功使用它们多次).我想在文档中找到所有不以".html"结尾的链接我提出的正则表达式是:
href=\"([^"]*)(?<!html)\"
Run Code Online (Sandbox Code Playgroud)
在Notepad ++中,我的编辑器href=\"([^"]*)\"找到所有链接(包括以"html"结尾的链接和不以"html"结尾的链接).为什么不负面的背后工作呢?
我也尝试过前瞻:
href=\"[^"]*(?!html\")
Run Code Online (Sandbox Code Playgroud)
但那也不起作用.
有人可以帮忙吗?
干杯,gro ..
我试图将一个数字舍入到它的第一个小数位,考虑到不同的MidpointRounding选项,这似乎运作良好.但是,当该数字具有随后的小数位数时会出现问题,这些小数位数会在算术上影响舍入.
一个例子:
随着0.1,0.11..0.19和0.141..0.44它的工作原理:
Math.Round(0.1, 1) == 0.1
Math.Round(0.11, 1) == 0.1
Math.Round(0.14, 1) == 0.1
Math.Round(0.15, 1) == 0.2
Math.Round(0.141, 1) == 0.1
Run Code Online (Sandbox Code Playgroud)
但随着0.141..0.149它总是回归0.1,虽然0.146..0.149应该回合0.2:
Math.Round(0.145, 1, MidpointRounding.AwayFromZero) == 0.1
Math.Round(0.146, 1, MidpointRounding.AwayFromZero) == 0.1
Math.Round(0.146, 1, MidpointRounding.ToEven) == 0.1
Math.Round(0.146M, 1, MidpointRounding.ToEven) == 0.1M
Math.Round(0.146M, 1, MidpointRounding.AwayFromZero) == 0.1M
Run Code Online (Sandbox Code Playgroud)
我试图提出一个解决这个问题的函数,并且它适用于这种情况,但当然如果你尝试舍入即0.144449它的第一个十进制数字(应该是0.2,但结果0.1)它会很好地失败.(那不是也不能使用Math.Round().)
private double "round"(double value, int digit)
{
// basically the …Run Code Online (Sandbox Code Playgroud) 我阅读了一些关于Makefile的教程,但对我而言,目标"所有"代表什么以及它的作用仍然不清楚.
有任何想法吗?