Не выводите 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 в виджете.

Вернуться на верх