filter
a、在app中创建templatetags模块
b、创建任意.py文件,如:xxoo.py
from django import template from django.utils.safestring import mark_safe register = template.Library() @register.filter def ya(value,v): temp = '<a href="http://www.baidu.com?t=%s">%s</a>'%(value,v) return mark_safe(temp)
c、在使用自定义filter的html文件中导入之前创建的xxoo.py文件名
{% load xxoo %}
d、使用filter
{{ 8|ya:'跳转' }}
注:8是第一个参数,‘跳转’是第二个参数,filter只能传两个参数。
e.在settings中配置当前app,不然django无法找到自定义的simple_tag
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01', )
simple_tag
a、在app中创建templatetags模块
b、创建任意 .py 文件,如:xx.py
from django import template from django.utils.safestring import mark_safe register = template.Library() @register.simple_tag def my_simple_time(v1,v2,v3): return v1 + v2 + v3 @register.simple_tag def my_input(id,arg): result = "<input type='text' id='%s' class='%s' />" %(id,arg,) return mark_safe(result)
c、在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名
{% load xx %}
d、使用simple_tag
{% my_simple_time 1 2 3%}
{% my_input 'id_username' 'hide'%}
e、在settings中配置当前app,不然django无法找到自定义的simple_tag
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01', )
simple_tag缺点:不能在前端用作if else判断条件,filter可以。
filter缺点:不能传任意参数,simple_tag可以。

浙公网安备 33010602011771号