`auto_id`和`id_for_label`可以有不同的值吗?

时间:2017-04-05 08:48:39

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

{{ 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完成。是否存在值不同的情况?

1 个答案:

答案 0 :(得分:0)

Django文档说明

  

BoundField.id_for_label

     

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

     

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