【问题标题】:Can `auto_id` and `id_for_label` ever have different values?`auto_id` 和 `id_for_label` 可以有不同的值吗?
【发布时间】:2017-08-30 18:39:19
【问题描述】:

{{ form.myfield.auto_id }}{{ form.myfield.id_for_label }} 具有相同的值。通常是“id_myfield”。

它通常用于构造表单,因此从技术上讲,它们应该始终相同。

<label for="{{ form.myfield.id_for_label }}">...</label>
<input id="{{ form.myfield.auto_id }}" />

但我想知道为什么id_for_label 甚至存在,因为它只是增加了一些不必要的开销,而这些开销只能用auto_id 来完成。是否存在值不同的情况?

【问题讨论】:

    标签: django django-forms django-templates django-1.10


    【解决方案1】:

    Django 文档声明如下

    BoundField.id_for_label

    默认情况下,这将是前缀为 id_ 的字段名称 (上面示例的“id_my_field”)。您可以通过以下方式修改 ID 在字段的小部件上设置 attrs。例如,声明一个字段 像这样:

    my_field = forms.CharField(widget=forms.TextInput(attrs={'id': 'myFIELD'}))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      相关资源
      最近更新 更多