列表项目模板Django
问题描述:
我正在处理在Django上创建一个模板,以显示包含2个按钮的项目列表。列表项目模板Django
我的窗体类是:
class AppsForm(forms.Form):
def __init__(self, *args, **kwargs):
policiesList = kwargs.pop('policiesList', None)
applicationList = kwargs.pop('applicationList', None)
EC2nodesList = kwargs.pop('amazonNodesList', None)
super(AppsForm, self).__init__(*args, **kwargs)
self.fields['appsPolicyId'] = forms.ChoiceField(label='Application Policy', choices=policiesList)
self.fields['appsId'] = forms.ChoiceField(label='Application', choices=applicationList)
self.fields['ec2Nodes'] = forms.ChoiceField(label='Amazon EC2 Nodes', choices=EC2nodesList)
现在,我做的形式:
<form method="post" action="" class="form-inline" role="form">
<div class="form-group">
{% for field in form %}
{ field.label }}: {{ field}}
{% endfor %}
</div>
{% csrf_token %}
<input type="submit" class="btn btn-default btn-success" name="deployButton" value="Deploy"/>
<input type="submit" class="btn btn-default btn-danger" name="undeployButton" value="Undeploy"/>
而结果是:
Application Policy - Choicefield ; Application - Choicefield ; Amazon EC2 Nodes - Choicefield [Button Deploy] [Button Undeploy]
而我寻找它是一种渲染方式窗体并显示如下列表:
Application Policy - Choicefield ; Application - Choicefield [Button Deploy] [Button Undeploy]
Amazon EC2 Nodes - Choicefield [Button Deploy] [Button Undeploy]
<more items if I add them in forms.py...>
我该如何获得正确的渲染方式?
感谢和问候。
答
你只需要改变一下代码都是:
{% for field in form %}
{ field.label }}: {{ field}}
<input type="submit" class="btn btn-default btn-success" name="deployButton" value="Deploy"/>
<input type="submit" class="btn btn-default btn-danger" name="undeployButton" value="Undeploy"/>
<br />
{% endfor %}
因此,这将创建一个新的行每个都有自己的按钮field.label和场变量。但有一点需要注意,如果您尝试将ID分配给按钮,它们必须有所不同,否则会出现错误。另外,对于这样的代码,提交可能有点奇怪,但它取决于应用程序的其余部分。无论哪种方式,这将给你所需的格式。
谢谢,是一个容易的变化。但正如你所说,我正在想另一种方式来做它,并做一个不太奇怪的代码。 – Aker666