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数据里设置了这样一个键值对,有就修改,没有就添加

posted @ 2018-02-08 20:04  九二零  阅读(67)  评论(0编辑  收藏  举报