标签:重启 pre 参数 eve 管道符 覆盖 numbers 进一步 run
使用管道符号 (|)来应用过滤器,如{{ name|lower }}。将在变量 {{ name }} 使用 lower 过滤后再显示它的值
{{ value2|safe }} 将字符串标记为在输出之前不需要进一步的HTML转义 {{ list|join:", "}} 列表转字符串 {{ value|urlencode }} url编码 {{ value|first }} 列表第一个元素 {{ value|last }} 列表最后一个元素 {{ value|random }} 随机返回 {{ value|length }} 返回值的长度 {{ value|length_is:"4" }} 如果值的长度是4,则返回True {{ value|linenumbers }} 显示带行号的文本 {{ value|default:"nothing" }} 如果 value没有被提供,或者为空, 上面的例子将显示“nothing”。 {{ value|filesizeformat }} 如果 value 是 123456789,输出将会是 117.7 MB。 {{ value4|date:‘Y-m-d‘ }} 转换时间格式 {{ value2|add:3 }} value2+3 int类型 {{ value|capfirst }} 大写变量的第一个字母,django--> DjangoTemplates {{ value|cut:"-" }} 删除字符串中的 "-" {{ value|dictsort:"name" }} 接受一个字典列表,并返回按参数中给出的键排序后的列表。 dictsortreversed 反序 {{ value|divisibleby:"3" }} 如果value可以被给出的参数整除,则返回 True {{ value|truncatechars:9 }} 如果字符串字符多于指定的字符数量,那么会被截断
详情参考:http://python.usyiyi.cn/django/topics/class-based-views/index.html
mysite/ ├── blog │ ├── __init__.py │ ├── models.py │ ├── templatetags │ │ ├── blog_extras.py │ │ └── __init__.py │ └── views.py
定义filter
from django import template register = template.Library()
@register.filter(is_safe=True) # 只能接受两个参数 def filter_multi(var,bar): # var是变量值, bar是选项值 return var * bar 模板文件 <!DOCTYPE html> {% load blog_extras %} # 导入定义的.py文件 <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p>filter--->{{ x|filter_multi:20 }}</p> </body> </html>
from django import template register = template.Library() @register.simple_tag # 可以接受多个参数 def simple_tag_multi(v1,v2,v): return v1 * v2 * v 调用方法与filter相同
# blog/templatetags/inclusion_tag.py from django import template register = template.Library() @register.inclusion_tag(‘include.html‘) def inc_test(xxx): value3 = [ {"title":"aaa"}, {"title":"bbb"}, {"title":"ccc"} ] return {"value":value3}
用于渲染的模板
# include.html <ul> {% for i in value %} <li>{{ i.title }}</li> {% endfor %} </ul>
在父模板中载入
# base.html {% load inclusion_tag %} <h1>base</h1> {% inc_test xxx %}
{% block title %} {% endblock %} # 父模板中定义 {% extends "base.html" %} # 子模版继承base.html {% block titel %} <a>xxx</a> {% endblock %} # 具体内容 {% include "public"} # 导入公共模板 {% include "public.html" with obj=uset_list} # 传入上下文对象
标签:重启 pre 参数 eve 管道符 覆盖 numbers 进一步 run
原文地址:http://www.cnblogs.com/hanqian/p/7029414.html