Django 表单样式设置
来源:
sources/django_forms样式设置.md
widget_tweaks 速查表
在模板开头加载:
{% load widget_tweaks %}
添加/修改 CSS class
{{ form.username|add_class:"form-control" }}
{{ form.username|add_class:"form-control is-invalid" }}
设置属性
{{ form.password|attr:"placeholder:请输入密码" }}
{{ form.email|attr:"style:width:300px;" }}
{{ form.age|attr:"min:18,max:100" }}
添加多个属性
{{ form.username|attr:"class:form-control,placeholder:输入用户名" }}
移除属性
{{ form.username|remove_attr:"required" }}
修改已有属性
注意:
attr:"class:new-class"会直接覆盖旧的 class,要保留并追加请用add_class。
{{ form.username|attr:"class:new-class" }} {# 覆盖 #}
{{ form.username|add_class:"new-class" }} {# 追加 #}
条件添加 class(错误提示)
{{ form.username|add_class:"is-invalid" if form.username.errors }}
渲染整个表单时逐个修改
{% for field in form %}
<div class="mb-3">
{{ field.label_tag }}
{{ field|add_class:"form-control" }}
{% if field.errors %}
<div class="invalid-feedback">{{ field.errors.0 }}</div>
{% endif %}
</div>
{% endfor %}
总结
| 过滤器 | 作用 |
|---|---|
add_class |
追加 CSS class |
attr |
添加/修改属性 |
remove_attr |
删除属性 |
相关页面
- Django - Django Web 框架
- Django开发实践笔记 - Django 开发完整指南
最后更新: 2026-04-30