在学习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" }} ...
参考文章:
http://djangobook.py3k.cn/2.0/chapter09/
http://stackoverflow.com/questions/414679/add-class-to-django-label-tag-output
本文出自 “运维笔记” 博客,请务必保留此出处http://lihuipeng.blog.51cto.com/3064864/1360177
原文:http://lihuipeng.blog.51cto.com/3064864/1360177