Reputation: 1427
Is there any way to get the id of a field in a template?
In the HTML I get: <input name="field_name" id="id_field_name"...
I know I can get the name with {{ field.html_name }}
, but is there anything similar for getting the id?
Or can I only get it like this: id_{{ field.html_name }}
?
Upvotes: 116
Views: 73264
Reputation: 39
From the documentation-
each form field has an ID attribute set to
id_<field-name>
, which is referenced by the accompanying label tag. This is important in ensuring that forms are accessible to assistive technology such as screen reader software. You can also customize the way in which labels and ids are generated.
So I would like to say id_field-name
, you collect the field name from the model.
Here is the link to the documentation
Upvotes: 2
Reputation: 1254
You can also use id_for_label
:
{{ field.id_for_label }}
Upvotes: 39
Reputation: 9633
In Django 2 you can retrieve the ID for a specific field using {{ field.id_for_label }}
This is documented here.
Upvotes: 1