2月8日学习内容整理:模版语言补充之自定义过滤器
一、如何自定义一个过滤器
1、首先在app文件中创建templatetags文件夹,必须叫这个
2、在这个文件夹中创建任意一个py文件
3、在这个py文件中如下代码显示
from django import template # 必须叫register register = template.Library() # 引入装饰器,filter就是过滤器 @register.filter def cheng(a,b): # 参数a就代表被渲染的模版变量,b就代表冒号后跟着的参数 return a*b
4、模版中开头,也就是html标签的前面
{% load py文件名 %}
{ { 变量|函数名:参数 } }
注意:我们自定义的过滤器也可以用在if或者for标签中,但是
@register.simple_tag这个装饰器自定义的标签是不可以用在if或者for里面的
from django import template # 必须叫register register = template.Library() # 引入装饰器,filter就是过滤器 @register.filter def cheng(a,b): # 参数a就代表被渲染的模版变量,b就代表冒号后跟着的参数 return a*b # 参数是模版文件名,会把返回值作为参数传到模版里,模版中利用模版语法进行渲染 @register.inclusion_tag("form_show.html") def get_form_info(config, form): form_info = [] for field in form: ........... # 返回的时候要用这种字典的形式,key必须是模版中定义的变量 return {"form_info":form_info}
补充:request.GET.setlist(字段名,列表)
这样就是在GET数据里设置了这样一个键值对,有就修改,没有就添加