Django 常用过滤器
过滤器
函数虽然能够在模板中执行,但是不能够传递参数,即不能使用圆括号的形式来传递参数。所以便有了过滤器。其实,这些过滤器就是函数。
滤器使用的是|来使用。比如使用add过滤器,那么示例代码如下:
{{ value|add:"2" }}
常用过滤器
add过滤器
-
templates模板下创建add.html文件
<title>add过滤器</title> </head> <body> {{ '1'|add:'3' }} </body> </html>
-
views.py文件定义函数
def add_view(request): return render(request, 'add.html')
-
urls.py文件做映射
urlpatterns = [ path('add/',views.add_view), ]
打开网页访问http://127.0.0.1:8000/add/即可
如果add.html文件是这样的呢?我们再来看看效果
-
add.html
{{ value1|add:value2 }}
-
views.html
def add_view(request): context = [ 'value':['1','2','3'] 'value':['4','5','6'] ] return render(request, 'add.html')
结果将是将两个列表拼接起来
总结:这个过滤器会尝试将 值 和 参数 转换成整形然后进行相加。如果转换成整形过程中失败了,那么会将 值 和 参数 进行拼接。如果是字符串,那么会拼接成字符串,如果是列表,那么会拼接成一个列表。
cut过滤器
移除值中所有指定的字符串。类似于 python 中的 replace(args,"") 。示例代码如下:
{{ value|cut:" " }}
date过滤器
将一个日期按照指定的格式,格式化成字符串。示例代码如下:
-
views示例代码
context = { "birthday": datetime.now() }
-
模板示例代码
{{ birthday|date:"Y/m/d" }} #date后面的参数是需要格式化的字符串
-
更多格式化方式