Как избавиться от меток в django Form?
Ранее я имел дело только с ModelForm, поэтому я впервые использую Form. Я хотел бы избавиться от меток в своей форме, однако то, как я избавляюсь от меток в ModelForm, не похоже, что работает с Form.
Вот мой код:
forms.py
class UserLoginForm(forms.Form):
email = forms.CharField(max_length=255)
password = forms.CharField(max_length=255)
labels = {
'email': '',
'password': ''
}
widgets = {
'email': forms.TextInput(attrs={'class': 'login_input', 'placeholder': 'Email'}),
'password': forms.PasswordInput(attrs={'class': 'login_input', 'placeholder': 'Password'})
}
Казалось бы, простая проблема, но оказалось, что я не могу получить то, что мне нужно, ни из официального документа django, ни из Google. Я буду очень признателен, если вы поможете мне решить эту проблему. Спасибо.
Как @Carcigenicate упоминалось в комментарии выше, вы можете напрямую использовать {{form.email}}
, что приведет к отображению только тега input вместо тега label.
Для удаления метки следует использовать inline labels, а не labels dict, так как они определены в классе Meta
, поэтому:
class UserLoginForm(forms.Form):
email = forms.CharField(max_length=255, label="")
password = forms.CharField(max_length=255, label="")
Вы также можете определить inline widegts
.
Тогда вы можете использовать {{form}}
и не увидите меток в шаблоне.