【问题标题】:How to get form fields' id in Django如何在 Django 中获取表单字段的 id
【发布时间】:2011-04-15 08:57:45
【问题描述】:

有什么方法可以获取模板中某个字段的id?

在我得到的 HTML 中:<input name="field_name" id="id_field_name"...

我知道我可以使用{{ field.html_name }} 获取名称,但是获取 id 有什么类似的吗?
还是只能这样获取:id_{{ field.html_name }}

【问题讨论】:

    标签: django django-forms django-templates


    【解决方案1】:

    来自文档-

    每个表单字段都有一个 ID 属性设置为id_<field-name> ,由随附的标签标记引用。这对于确保表单可供屏幕阅读器软件等辅助技术访问非常重要。您还可以自定义生成标签和 ID 的方式。

    所以我想说id_field-name,你从模型中收集字段名。

    这是the documentation的链接

    【讨论】:

      【解决方案2】:

      你也可以使用id_for_label:

      {{ field.id_for_label }}
      

      【讨论】:

        【解决方案3】:

        在 Django 2 中,您可以使用 {{ field.id_for_label }} 检索特定字段的 ID

        这已记录在here

        【讨论】:

          【解决方案4】:

          这不适用于每个表单域。

          例如{{ form.address.auto_id }} 有效,而{{ form.address.auto_name }} 无效。

          但是您可以使用{{ form.address.html_name }} 来获得等效的答案。

          这里是docs

          【讨论】:

          • 我认为你的意思是你可以使用“auto_id”作为id,但你必须使用“html_name”作为名称。可悲的是,我发现您的回答措辞令人困惑。
          • 这个答案对我不起作用,而 Will 的上述工作完美。我通过即时反馈对它们进行了背靠背测试。
          【解决方案5】:

          你可以这样获取ID:

          {{ field.auto_id }}
          

          【讨论】:

          • 字段名呢?
          • @Clayton {{ field.html_name }}
          猜你喜欢
          • 2017-10-13
          • 2015-09-26
          • 2011-02-04
          • 2017-01-17
          • 1970-01-01
          • 2020-09-14
          • 2021-08-31
          • 1970-01-01
          • 2017-11-27
          相关资源
          最近更新 更多