Не выводите abel для id в форме django
Можно ли не отображать атрибут for
у атрибута label
?
Я хочу <label>Text</label>
вместо <label for="id_i">Text</label>
вам нужно будет вручную отрисовать поле формы: <label>{{field.label}}</label>
отрисует метку так, как вам нужно. О том, как вручную выводить поля формы, см. в документации: https://docs.djangoproject.com/en/dev/topics/forms/#looping-over-the-form-s-fields
Да, можно не отображать атрибут for
у метки с помощью:
Рендеринг формы вручную в шаблоне :
<form method="post" novalidate>
{% csrf_token %}
{{ form.non_field_errors }}
{{ form.source.errors }}
{{ form.source }}
<table border="1">
<tr>
<!-- Add your custom label for name field -->
<!-- By default: <th>{{ form.name.label_tag }}</th> -->
<th>{{ form.name.label }}</th>
<td>
{{ form.name.errors }}
{{ form.name }}
</td>
</tr>
</table>
<button type="submit">Submit</button>
</form>
Подробнее о Рендеринг формы модели django вручную
Или что-то более хитрое: используйте JS.
Вы также можете использовать js для удаления всех атрибутов for
для тега label.
Более гибким решением является переопределение id_for_label
в виджете.