我只需要添加加载脆标签。
{% extends "base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<form action="" method="get">
{{ filter.form|crispy }}
<input type="submit" />
</form>
{% for obj in filter %}
{{ obj.name }} - ${{ obj.price }}<br />
{% endfor %}
{% endblock %}
如果您还想覆盖 django-filter 的过滤器表单的布局,您可以覆盖 FilterSet 类上的
form
属性,将助手附加到它并返回它。
class ValuationFilters(django_filters.FilterSet):
class Meta:
model = Valuation
fields = (
'...',
)
@property
def form(self):
form = super().form
form.helper = FormHelper()
form.helper.layout = Layout(
Fieldset(
'First arg is the legend of the fieldset',
'...',
),
Submit('submit', 'Submit', css_class='button is-primary'),
)
return form
确保还使用特殊的 cripsy 标签而不是
|crispy
模板过滤器,以便帮助程序实际执行。
{% load crispy_forms_tags %}
<form method="get">
{% crispy filter.form %}
</form>
这是对 Addison Klinke 对 hum3 的回答提出的问题的回应。