在学习django的时候由于前端用的bootstrap,使用forms不知道如果添加bootstrap的class样式,翻了一下资料可以用自定义filter来添加:
按照django book第九章的教程:
1、先在应用下建立一个templatetags目录,里面应该放两个文件(__init__.py和一个我自定义的文件),结构如图:
2、__init__.py 文件是空的,作用不说了,my_app_filter.py 里面就可以自己写filter,我定义了一下加class的filter:from django import template
register = template.Library()
@register.filter(name='addcss')
def addcss(field, css):
return field.as_widget(attrs={"class":css})
3、然后在模板上加载刚刚的文件,就可以用自定义的filter,这样可以添加bootstrap样式
{% load my_app_filters %}
...
{{ form.caption|addcss:"form-control" }}
...