单独打印重复的Django表单字段

时间:2012-07-05 09:06:00

标签: django-forms

我有一个Django形式的困境。在模板中渲染表单时,我通常更喜欢单独打印表单字段,而不是使用form.as_p注释。但是,在我正在处理的形式中,我有一组重复未知次数的字段。例如,如果正在编辑3个项目,则字段为:

field_name_1
field_email_1

field_name_2
field_email_2

field_name_3
field_email_3

但事先并不为我所知的物品数量。为了解决这个问题,我在 init 函数的循环中创建了字段,没有问题。但我无法想出一种在模板中单独打印字段的方法,因为我不知道每个字段的全名。如果这是我唯一的问题,我可以使用form.as_p语法,没有大问题。但我还想在每组字段的开头添加一些html,以便结果如下:

添加值1:
field_name_1
field_email_1

添加值2:
field_name_2
field_email_2

添加值3:
field_name_3
field_email_3

但是,我还没有找到在Django代码中将任意html插入表单的方法,类似于Drupal表单中的#markup。所以:

  1. 有没有办法单独打印字段,以便我可以将额外的html放在模板中? (我在这里缺少的是确切的语法)
  2. 如果没有,我如何将额外的html插入表单?

1 个答案:

答案 0 :(得分:0)

你的意思是模板中有这样的东西吗?:

{% for field in form %}
<div class="fieldWrapper">
    {{ field.errors }}
    {{ field.label_tag }}: {{ field }}
</div>
{% endfor %}

(来自Django文档:https://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs#looping-over-hidden-and-visible-fields

您可以使用以下内容呈现标题: 添加值{{forloop.counter}}: