Python 为什么";引擎“;将此变量大写。它能被隐藏吗?
观点:Python 为什么";引擎“;将此变量大写。它能被隐藏吗?,python,django,Python,Django,观点: def GRID_ServerDropDownSearch(request): if 'r' in request.GET and request.GET['r']: r = request.GET['r'] servers = SERVERS.objects.get(name=r) drives = servers.drives_set.all()[0:] memory = servers.memory_set.all
def GRID_ServerDropDownSearch(request):
if 'r' in request.GET and request.GET['r']:
r = request.GET['r']
servers = SERVERS.objects.get(name=r)
drives = servers.drives_set.all()[0:]
memory = servers.memory_set.all()[0:]
return render_to_response('GRID_ServerDropDownSearchResults.html',
{'servers':servers, 'query':r, 'drives':drives, 'memory':memory})
else:
return render_to_response('GRID_search_form.html', {'error': True})
表格:
类ServerDropDownForm(forms.Form):
模板:
<div>
<form action="/ServerDropDownSearch/" method="GET">
{{ form.as_table }}
<input type = "Submit" value = "Submit">
</form>
</div>
{{form.as_table}}
由此产生的下拉表单可以完美地工作。但是,在下拉列表的左侧是一个“R”(大写字母R)。我知道这与上面代码中指定的“r”有关。(如果我将r的每个入射角替换为z,则会出现一个“z”)。然而:
提前感谢。Django从相应的变量名派生表单字段的标签,但“人性化”了它。例如,一个名为
my_variable
的字段将转换为“my variable”
解决此问题的最简单方法是为字段提供一个更易于阅读的名称:
server = forms.ModelChoiceField(queryset = SERVERS.objects.all(), required=False)
但是,您也可以通过表单字段的label
参数传递一个字符串作为标签:
r = forms.ModelChoiceField(queryset = SERVERS.objects.all(), required=False, label='Select a server')
Django从相应的变量名派生表单字段的标签,但将其“人性化”。例如,一个名为
my_variable
的字段将转换为“my variable”
解决此问题的最简单方法是为字段提供一个更易于阅读的名称:
server = forms.ModelChoiceField(queryset = SERVERS.objects.all(), required=False)
但是,您也可以通过表单字段的label
参数传递一个字符串作为标签:
r = forms.ModelChoiceField(queryset = SERVERS.objects.all(), required=False, label='Select a server')
“引擎”,如果你指的是Django,它什么也没做。如果它是大写的,在项目代码的某个地方,它就是大写的。不确定您是否继承了这个或什么,但编写它的人似乎完全不熟悉Python编码约定。看起来更像是Django试图强制适应.NET模式。是的,那就是我“完全不熟悉Python编码约定”。如果你是说Django,“引擎”没有做任何事情。如果它是大写的,在项目代码的某个地方,它就是大写的。不确定您是否继承了这个或什么,但编写它的人似乎完全不熟悉Python编码约定。看起来更像是Django试图强制适应.NET模式。是的,那就是我“完全不熟悉Python编码约定”。