一.注册器
1.生成一个注册器
from django import template
register = template.Library()
2.如何写进注册器
@register.filter
def my_lower(value):
return value.lower()
(1)
register.filter(my_lower())
(2)
@register.filter('my_lower')
3.自定义的注册器如何使用
在模板中
{% load common_extras %}
自定义的过滤器{{ name|lower }} <br>
二.自定义标签
1.简单标签 (1)
@register.simple_tag
def current_time1(format_str):
return datetime.datetime.now().strftime(format_str)
{% current_time1 '%Y年%m月%d日 %H:%M:%S' %} <br>
(2)
@register.simple_tag(takes_context=True)
def current_tiem2(context):
format_string = context.get('format_string')
return datetime.datetime.now().strftime(format_string)
{% current_tiem2 %} <br>
2.包含标签
<ul>
{% for i in choices %}
<li>这是{{ i }}</li>
{% endfor %}
</ul>
@register.inclusion_tag('book/show_tag.html')
def show_result():
ls = ['a', 's', 'd', 'e']
return {'choices':ls}
@register.inclusion_tag('book/show_tag.html')
def show_result1(ls):
return {'choices': ls}
@register.inclusion_tag('book/show_tag.html',takes_context=True)
def show_result2(context):
tu = context.get('tuple')
return {'choices': tu}
{% show_result %}
{% show_result1 tuple %}
{% show_result2 %}
|