Django模板:表单字段名称作为变量?

时间:2011-02-14 14:58:01

标签: django django-templates django-forms

如何使用此循环打印表格字段,其中XXXXXXXX是ticket.id的值?

{% for ticket in zone.tickets %}
    {{ ticket.id }}: {{ form.ticket_count_XXXXXXXX }}
{% endfor %}

所以输出是这样的......

1: <input ... name="ticket_count_1">
10: <input ... name="ticket_count_10">
12: <input ... name="ticket_count_12">
3: <input ... name="ticket_count_3">

1 个答案:

答案 0 :(得分:3)

你不能在django模板中传递参数,所以没有。

您需要实施模板标记(更多是痛苦)或过滤,或者在您的视图中建立从ticketformfield的关联(我会推荐)。

由于我实际上并不知道ticket与您的表单字段之间的关系,因此我无法确定最佳方法是什么,但根据您提供的信息,这将“正常工作”。

# view
form = MyForm()
for ticket in zone.tickets:
    ticket.form_field = form['ticket_count_' + str(ticket.id)]

# template
{% for ticket in zone.tickets %}
    {{ ticket.id }} : {{ ticket.form_field }}
{% endfor %}