我正在处理如何在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...>我怎么才能得到正确的渲染方式呢?
谢谢和问候。
发布于 2016-08-22 16:57:36
您只需要稍微修改一下代码就可以了:
{% 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分配给按钮,则它们必须是不同的,否则会出现错误。而且,提交对于类似这样的代码可能有点奇怪,但它取决于应用程序的其余部分。无论哪种方式,这都会给您提供所需的格式。
https://stackoverflow.com/questions/39084313
复制相似问题