django crispy forms - 'SubWidget'对象没有属性'field'

don*_*yor 5 forms django django-forms django-crispy-forms

我创建了一个模型和模型.我在设置bootstrap3模板包中设置并放入crispy-formsinstalled_apps.

现在,如果我这样做:

{% crispy form %}
Run Code Online (Sandbox Code Playgroud)

它显示的形式像

label_name
<form.field>
..
etc etc. 
Run Code Online (Sandbox Code Playgroud)

但我想要

label_name: <form.field>
Run Code Online (Sandbox Code Playgroud)

在HTML中.

如果我做:

{% crispy form.fieldname %}
Run Code Online (Sandbox Code Playgroud)

我正进入(状态:

'SubWidget' object has no attribute 'field'
Run Code Online (Sandbox Code Playgroud)

为什么?为此,我该如何轻松控制表单布局?

小智 15

您可以使用as_crispy_field过滤器完成此操作.

通过官方文件:

templatetags.crispy_forms_filters.as_crispy_field(field, template_pack='bootstrap')[source]
Renders a form field like a django-crispy-forms field:

{% load crispy_forms_tags %}
{{ form.field|as_crispy_field }}
Run Code Online (Sandbox Code Playgroud)

要么:

{{ form.field|as_crispy_field:"bootstrap" }}
Run Code Online (Sandbox Code Playgroud)