Как отобразить мою собственную html форму вместо того, чтобы делать {{ form.as_p }} с помощью forms.py django?
У меня есть файл forms.py с формой создания пользователя внутри него. Она прекрасно работает, но единственный способ, которым я могу отобразить поля в ней (имя_после фамилии, имя_после фамилии, имя пользователя, email, пароль и подтверждение пароля) - это написать {{ form.as_p }}. Я хочу отобразить его так, как я мог бы его стилизовать. Есть ли способы сделать это?
Вы можете добавить стиль css с помощью виджетов формы
class BasicForm(forms.Form):
first_name = models.CharField(...,
widget=forms.TextInput(attrs={'class' : 'myclass'})
last_name = models.CharField(...,
widget=forms.TextInput(attrs={'class' : 'myfieldclass'})
позднее использовать класс css дизайна
Вы можете писать свой собственный HTML с различной степенью детализации. Это описано в документации .
Crispy Forms - это широко используемый пакет, который значительно упрощает верстку фантазийных форм. Также вы можете сделать большую часть работы в Python, закодировав объект Crispy Layout, а не писать сложный HTML-шаблон.