Шаблоны Django: Имя поля формы как переменная? - PullRequest
1 голос
/ 14 февраля 2011

Как сделать этот цикл для печати полей формы, где XXXXXXXX - это значение ticket.id?

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

Таким образом, вывод будет примерно таким ...

1 Ответ

3 голосов
/ 14 февраля 2011

Вы не можете передавать аргументы в шаблоне django, поэтому нет.

Вам необходимо реализовать тег шаблона (более болезненно) или фильтр, или сделать ассоциацию от ticket до formfield на ваш взгляд (что я бы порекомендовал).

Поскольку я на самом деле не знаю взаимосвязи между 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 %}
...