【问题标题】:List item template Django列表项模板 Django
【发布时间】:2016-08-22 16:19:05
【问题描述】:

我正在处理在 Django 上创建一个模板来显示带有 2 个按钮的项目列表。

我的表单类是:

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...>

我怎样才能获得正确的渲染方式?

感谢和问候。

【问题讨论】:

    标签: python django forms list


    【解决方案1】:

    你只需要修改一下代码就可以了:

    {% 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 和 field 变量创建一个新行,并使用它们自己的按钮。不过要注意的一件事是,如果您尝试将 ID 分配给按钮,它们将必须不同,否则您会遇到错误。此外,使用这样的代码提交可能有点奇怪,但这取决于您的应用程序的其余部分。无论哪种方式,这都会为您提供所需的格式。

    【讨论】:

    • 谢谢,这是一个简单的改变。但正如你所说,我正在考虑另一种方法,并编写一个不那么奇怪的代码。
    猜你喜欢
    • 2015-05-11
    • 2019-04-16
    • 2015-05-25
    • 1970-01-01
    • 2021-10-18
    • 2012-02-15
    • 1970-01-01
    • 2021-07-23
    相关资源
    最近更新 更多