我正在研究django应用程序,更具体地说,是一个formset(表单组)。我有表单设置金额设置查询集检索的对象数。我想要做的是更改表单集,以便在表单集中的每个表单之间包含与表单集相关的用户的名称。现在发生的事情是它打印整个formset然后我要移动的名称放在formset中的每个表单之间。
**已更新**。
现在发生的事情是,在每个正在迭代的不同表单之间,它显示正在显示的所有对象。我的问题是我只希望列表中的第一个对象在第一个表单之前打印,第二个对象在第二个表单之前显示。等等...
正在发生的事情的样本:
{% 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 %}
我希望它只显示第一个表单的名字,依此类推。这是代码:
{{1}}
答案 0 :(得分:1)
您可以在模板中迭代表单var并可以在表单之间添加信息,但请确保您还必须以下面的代码形式添加{{ 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>