У меня есть код, который выглядит так:
#form.html
<form action="/form-action" method="post">
{{form.faction.label_tag}}
{{form.faction}}<br />
{{form.character_name.label_tag}}
{{form.character_name}}
</form>
#form.py
class CharacterForm(forms.Form):
FACTION_CHOICES = (
('Sith', 'Sith Empire'),
('Republic', 'Republic Alliance')
)
faction = forms.ChoiceField(choices=FACTION_CHOICES)
character_name = forms.CharField(max_length=100)
Однако я хотел бы иметь указанный класс в теге метки на выходе html. Я знаю, что мог бы сделать:
<form action="/form-action" method="post">
<label for="id_faction" class="foo">{{form.faction.label}}:</label>
{{form.faction}}<br />
<label for="id_character_name" class="bar">{{form.character_name.label}}:</label>
{{form.character_name}}
</form>
Раньше я использовал Rails, и вы можете сделать что-то вроде:
<%= f.label :field, class: "baz" %>
и надеялся, что в django было такое же простое решение. Я думал, что использование form.field-name.label_tag(attrs={'class':'custom-class-name'})
сработает, но, увы, я застрял. Любое понимание ценится.