Django: отображать имя формы в шаблоне с префиксом

Я некоторое время искал ответ на этот вопрос, но безуспешно. Я в основном хочу получить имя поля формы с включенным префиксом. Кто-нибудь знает как это сделать?

Пример:

Допустим, я создаю форму в views.py и включаю такой префикс:

myform = SomeForm(prefix="prefix")

а затем передать его моему шаблону. Если я получу доступ к полю формы внутри шаблона напрямую, я получу {{ myform.username }} что-то вроде этого (обратите внимание, что префикс включен):

<select id="id_prefix-username" name="prefix-username"> ...

Однако если я хочу вручную создать тег формы и просто вставить имя, я не получу префикс с ним:

<input name="{{ myform.username.name }}">

сгенерирует:

<input name="username">

Обратите внимание, как теперь пропущен префикс. Теперь я могу сделать это так, чтобы достичь того же результата:

 <input name="{{ myform.prefix }}-{{ myform.username.name }}">

Но должен быть встроенный способ сделать это?

1 ответ

Вместо этого вы можете использовать html_name:

<input name="{{ myform.username.html_name }}">

Это должно добавить префикс по мере необходимости

Другие вопросы по тегам