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 }}">
Это должно добавить префикс по мере необходимости