【问题标题】:Printing repeated Django form fields individually单独打印重复的 Django 表单字段
【发布时间】:2012-07-05 09:06:00
【问题描述】:

我有一个 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:
字段名称_1
field_email_1

添加值 2:
字段名称_2
field_email_2

添加值 3:
字段名称_3
field_email_3

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

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

【问题讨论】:

    标签: django-forms


    【解决方案1】:

    你的意思是在模板中是这样的吗?:

    {% 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}}:

    【讨论】:

      猜你喜欢
      • 2017-05-23
      • 1970-01-01
      • 1970-01-01
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多