Django过滤器与自定义标签
Django自定义标签
{{变量}}
{%标签%}
| 过滤符
1、创建APP
2、在APP当中创建templatetags 包
3、在templatetags 目录下创建过滤器文件
(1)、实例化模板库。
注意:实例必须叫register
from django import template
from Student.models import Students
register = template.Library()
def dosomething(value):
return value.upper()
register.filter('replaceUper',dosomething)
@register.filter('replaceLower')
def dosomething1(value):
return value.lower()
@register.filter('replace')
def dosomething2(value,args):
return value.replace(args,args.upper())
@register.filter('ADD')
def dosomething3(value,args1):
return int(value)+int(args1)
@register.filter('getStudent')
def getStudents(value):
id = int(value)
stu = Students.objects.filter(id = id).first()
if stu:
return stu.name
else:
return False
import datetime
class CurrentTimeNode(template.Node):
def __init__(self,formit_string):
self.formit_string = str(formit_string)
def render(self, context):
now = datetime.datetime.now()
return now.strftime(self.formit_string)
def do_current_time(parser,token):
try:
targename,arg = token.contents.split(None,1)
except ValueError as e:
raise template.TemplateSyntaxError(str(e))
else:
return CurrentTimeNode(arg)
注意事项:
(2) 注册app,增加OPTIONS项
(3)前端代码
(4)视图文件
定义在前端显示的变量
def Templatetag(request):
example = 'hello world'
num = 5
return render(request,'templateTag.html',locals())
效果显示: