Django脆皮形式内联标签和输入字段

时间:2021-04-15 14:17:25

标签: python html django forms django-crispy-forms

我有一个包含 3 个字段的 Django ModelForm:姓名、姓氏、电子邮件。我想要的是调整脆皮表单,将每个字段及其标签放在一行中,因此表单将如下所示:

Name: <input name>
Lastname: <input lastname>
Email: <input email>
<button Submit>

我尝试使用 FormHelper 和 Layout 以及 bootstrap 内联属性,但我所获得的只是将表单中的所有元素都放在一行中。

我在前端真的很糟糕,我被卡住了。

2 个答案:

答案 0 :(得分:1)

假设您的 settings.py 包含:

CRISPY_TEMPLATE_PACK = 'bootstrap4'

您可能想要覆盖模板 bootstrap4/field.html,它将标签和各种可能的输入字段放在一起。

为此,您可以将 crippy_form 包中的 templates/bootstrap4/field.html 文件复制到应用程序中的 templates/bootstrap4/field.html 中,并根据需要对其进行修改。当模板引擎呈现表单字段时,它会在原始模板中的之前找到您修改的 field.html

您可能还想参考模板包 uni_form,它在没有 css 的情况下几乎按照您想要的方式呈现字段。您可以按原样使用它,也可以从它的结构方式中获得灵感来修改您自己的 field.html

答案 1 :(得分:0)

我通过简单地将 html 代码中的 {{ my_form|crispy }} 更改为 {{ my_form.as_p }} 来实现我的目标。

相关问题