Внедрение хрустящих форм Django Bootstrap в стандартные страницы регистрации / входа?
Я настроил страницы регистрации и входа в аккаунт пользователя, следуя этому руководству, и все работает отлично, за исключением того, что страницы не имеют форматирования. Теперь я ищу простое решение для улучшения внешнего вида "templates/registration/login.html" и "templates/registration/signup.html". Кто-то посоветовал crispy forms, которые выглядят отлично, а поскольку остальная часть моего сайта использует Bootstrap 5, crispy-bootstrap5 выглядит идеально.
Я пытаюсь внедрить crispy-bootstrap5, поскольку не понимаю ни встроенных форм Django django.contrib.auth.forms
, ни форм вообще, и не могу найти простых воспроизводимых примеров для crispy-форм с signup.html и login.html. Я установил пакеты нормально, но теперь не знаю, как украсить login.html и signup.html из этого учебника:
{% extends 'base.html' %}
{% block title %}Sign Up{% endblock %}
{% block content %}
<h2>Sign up</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Sign Up</button>
</form>
{% endblock %}
Я не знаю, куда с этим идти, но в документации для regular django-crispy есть ссылки на a gist for an eg form, и на index.html {% load crispy_forms_tags %}
и {% crispy form %}
. Я вставил их, что в основном оставило страницу без изменений, за исключением того, что испортило форматирование. Думаю, теперь мне нужно изменить class CustomUserCreationForm(UserCreationForm)
в forms.py, но я не знаю как. Я также не хочу рисковать большими проблемами, изменяя встроенные функции Django, которые я не понимаю.
Какие шаги нужно предпринять, чтобы login.html и signup.html выглядели как в bootstrap 5?
выполните следующие шаги для использования crispy_forms с bootstrap5:
1-й шаг: Установите crispy_forms
форму bootstrap 5
pip install crispy-bootstrap5
шаг 2: Добавьте crispy_forms
и crispy_bootstrap5
к установленным приложениям
INSTALLED_APPS = (
...
"crispy_forms",
"crispy_bootstrap5",
...
)
шаг 3: добавьте crispy form attr в settings
файл
CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5"
CRISPY_TEMPLATE_PACK = "bootstrap5"
смотрите здесь для подробностей