有一个非常易于安装且非常棒的 Django 工具,我使用它来进行样式设置,它可以用于每个前端框架,如 Bootstrap、Materialize、Foundation 等。它被称为 widget-tweaks 文档:Widget Tweaks
- 您可以将它与 Django 的通用视图一起使用
或使用您自己的表格:
from django.forms import Form
class MyForm(Form):
field1 = forms.CharField(max_length=512)
field2 = forms.CharField(max_length=256)
而不是使用默认值:
{{ form.as_p }} or {{ form.as_ul }}
您可以使用 render_field 属性对其进行样式设置,该属性为您提供更类似于 html 的样式设置方式,如下例所示:
模板.html
{% load widget_tweaks %}
<div class="container">
<div class="col-md-6">
{% render_field form.field1 class+="form-control myCSSclass" placeholder="Placeholder for field1" %}
</div>
<div class="col-md-6">
{% render_field form.field2 class+="myCSSclassX myCSSclass2" placeholder=form.field2.label %}
</div>
</div>
这使得将前端保持在前端和后端保持在后端变得更容易,而不必像这样:
class MyForm(forms.Form):
field1 = forms.CharField(widget=forms.TextInput(attrs={'class' : 'myCSSclass'}))
field2 = forms.CharField(widget=forms.TextInput(attrs={'class' : 'myCSSclassX myCSSclass2'}))
在我看来,这是非常有限且更容易混淆的