Django开发网站-12-在Django中添加modelform的表单样式


上篇文章中,user_add_form.html的form表单中的录入框没有样式,看起来很难看。下面给其添加样式。

我们使用django-crispy-forms插件给表单添加样式。

首先,在vscode中新建一个终端,并输入pip install django-crispy-forms。

再输入pip install crispy-bootstrap4。

接下来在apps中注册插件,打开settings.py,在installed_apps中增加crispy_forms项和crispy_bootstrap4项,并增加两个配置,CRISPY_ALLOWED_TEMPLATE_PACKS=’bootstrap4’和CRISPY_TEMPLATE_PACK=’bootstrap4’,指定bootstrap4样式。

这里有个重点,在网上很多教程中都是单独使用django-crispy-forms进行渲染,但是在使用django-crispy-forms时,出现了TemplateDoesNotExist at /user_add_form/bootstrap4/uni_form.html的错误。这是因为django-crispy-forms从2.0版本开始,模板包在单独的一个包里。也就是crispy-boostrap4中。所以要引入这个包插件。

在user_add_form.html中加入如下代码:

form表单中的{{ form }}改为{{ form|crispy }}

这时候打开user_add_form.html页面,

添加数据的页面按照bootstrap4的标准进行了布局。

至此,使用bootstrap4对modelform生成的表单录入框进行样式布局就完成了。