【问题标题】:Adding content between form in Formset_Factory = Django在 Formset_Factory = Django 中的表单之间添加内容
【发布时间】:2017-09-28 00:22:22
【问题描述】:

我正在开发一个 django 应用程序,更具体地说,是一个表单集(表单组)。我有表单集数量设置查询集检索到的对象的数量。我想要做的是对表单集进行更改,以便在表单集中的每个表单之间包含与表单集相关的用户的名称。现在发生的事情是打印整个表单集,然后打印我想要移动的名称以放置在表单集中的每个表单之间。

** 更新**。

现在发生的情况是,在每个正在迭代的不同表单之间,它正在显示所有正在显示的对象。我的问题是我只希望列表中的第一个对象在第一个表单之前打印,第二个对象在第二个表单之前显示。等等……

正在发生的事情的示例:

Add expense - restructured group
Please complete the form below

josh
lifter
omar
Amount: 0
Description: expense

josh
lifter
omar
Amount: 0
Description: expense

josh
lifter
omar
Amount: 0
Description: expense

submit

我希望它只显示第一个表单的名字等等。代码如下:

{% extends "base.html" %}

{% block content %}
  <h2>Add expense - {{ currentGroup.name }}</h2>
  {% if message %}
    <p>{{message}}</p>
  {% endif %}
  <form action="." method="POST">
    {% csrf_token %}
    {{ form.management_form }}
    {% for f in form %}
      {% for expense in expenses %}
        <p>{{ expense.user.username }}</p>
      {% endfor %}
      {{ f.as_p }}
    {% endfor %}
    <input type="submit" name="submit" value="submit">
  </form>
{% endblock %}

【问题讨论】:

    标签: python django django-forms


    【解决方案1】:

    您可以在模板中迭代表单变量,并可以在表单之间添加信息,但请确保您必须在表单中添加{{ form.management_form }},如下代码所示

    <form action="." method="POST">
        {% csrf_token %}
        {{ form.management_form }}
        {% for f in form %}
        {# Add whatever information you want to show between forms #}
        {{ f.as_p }}
        {% endfor %}
        {% for expense in expenses %}
          <p>{{ expense.user.username }}</p>
        {% endfor %}
        <input type="submit" name="submit" value="submit">
      </form>
    

    【讨论】:

    • 谢谢,它成功了。但现在我有另一个问题。我弄乱了它,但现在它正在遍历每个不同字段之间的整个对象列表。请检查更新问题... @neerajkumar
    • 如果您查看原始帖子的更新部分,我暗示了您的方法。我有三个表单和三个用户。它当前正在迭代创建的每个表单之间的列表中的所有对象。所以所有用户然后形成,所有用户都形成,等等。我想找到一种方法让用户然后表单,用户然后表单等等,而不是所有用户然后表单。我更新了原帖。 @neerajkumar
    • 对你理解有帮助吗
    • 模板中哪个变量迭代用户?
    • 哦,用户是一个存储在费用表中的对象。所以它位于费用之内。用户名来自for expense in expenses,显示用户名来自expense.user.username。 @neerajkumar
    猜你喜欢
    • 2015-10-08
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    相关资源
    最近更新 更多