将 Django Bootstrap 简洁表单实现到默认注册/登录页面?

Chr*_*xon 3 python django django-forms django-crispy-forms bootstrap-5

我已经按照本教程设置了用户帐户注册和登录页面,一切都很好,只是页面没有格式。我现在正在寻找一个简单的解决方案来改善“templates/registration/login.html”和“templates/registration/signup.html”的外观。有人推荐了 crispy 表单,它看起来很棒,而且由于我网站的其余部分使用 Bootstrap 5,crispy-bootstrap5看起来很理想。

我正在努力实现 Crispy-bootstrap5,因为我不了解 Django 的内置django.contrib.auth.forms功能,也不了解一般的表单,并且无法找到带有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 %}
Run Code Online (Sandbox Code Playgroud)

我不知道该去哪里,但是常规 django-crispy 的文档链接到例如 form 的要点,以及 index.html{% load crispy_forms_tags %}{% crispy form %}. 我把它们放在其中,除了弄乱格式之外,页面大部分保持不变。我想我现在需要修改class CustomUserCreationForm(UserCreationForm)forms.py 但我不知道如何修改。我也不愿意通过修改我不理解的 Django 内置功能来冒更大问题的风险。

我们需要采取哪些步骤才能使 login.html 和 signup.html 看起来像 bootstrap 5?

Tas*_*eya 13

请按照以下步骤将crispy_forms与bootstrap5一起使用:

第一步:安装crispy_formsbootstrap 5

pip install crispy-bootstrap5
Run Code Online (Sandbox Code Playgroud)

第 2 步:crispy_forms和添加crispy_bootstrap5到已安装的应用程序

INSTALLED_APPS = (
    ...
    "crispy_forms",
    "crispy_bootstrap5",
    ...
)
Run Code Online (Sandbox Code Playgroud)

第 3 步:将脆皮表单属性添加到settings文件中

CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5"

CRISPY_TEMPLATE_PACK = "bootstrap5"
Run Code Online (Sandbox Code Playgroud)

查看此处了解详细信息

要在模板中使用脆皮形式,请在页面顶部添加{% load crispy_forms_filters %}和。{% load crispy_forms_tags %}sign uplogin

并将形式声明为脆皮 ie{{forms| crispy}}或字段为{{ form.fieldname|as_crispy_field }}

  • 在注册和登录页面顶部添加“{% load Crispy_forms_filters %}”和“{% load Crispy_forms_tags %}”。并将`form`声明为crispy,即`{{forms| 脆}}` 或字段为 `{{ form.fieldname|as_crispy_field }}` (2认同)