django之Template
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django之Template相关的知识,希望对你有一定的参考价值。
模板的组成
组成:HTML代码+逻辑控制代码
逻辑控制代码组成
1 变量(使用双大括号来引用变量):
语法格式: {{var_name}}
深度变量的查找(万能的句点号)
在到目前为止的例子中,我们通过 context 传递的简单参数值主要是字符串,然而,模板系统能够非常简洁地处理更加复杂的数据结构,例如list、dictionary和自定义的对象。
在 Django 模板中遍历复杂数据结构的关键是句点字符 (.)。
变量的过滤器(filter)的使用
# 1 add : 给变量加上相应的值 # # 2 addslashes : 给变量中的引号前加上斜线 # # 3 capfirst : 首字母大写 # # 4 cut : 从字符串中移除指定的字符 # # 5 date : 格式化日期字符串 (time : 格式化时间字符串)
{{ value|date:‘H-m-d H:i:s‘ }}
# 6 default : 如果值是False,就替换成设置的默认值,否则就是用本来的值
# 7 default_if_none: 如果值是None,就替换成设置的默认值,否则就使用本来的值 #实例: #value1="aBcDe" {{ value1|upper }}<br> #value2=5 {{ value2|add:3 }}<br> #value3=‘he llo wo r ld‘ {{ value3|cut:‘ ‘ }}<br> #import datetime #value4=datetime.datetime.now() {{ value4|date:‘Y-m-d‘ }}<br> #value5=[] {{ value5|default:‘空的‘ }}<br> #value6=‘<a href="#">跳转</a>‘ {{ value6 }} {% autoescape off %} {{ value6 }} {% endautoescape %} {{ value6|safe }}<br> {{ value6|striptags }} #value7=‘1234‘ {{ value7|filesizeformat }}<br> {{ value7|first }}<br> {{ value7|length }}<br> {{ value7|slice:":-1" }}<br> #value8=‘http://www.baidu.com/?a=1&b=3‘ {{ value8|urlencode }}<br>
2 标签(tag)(使用大括号和百分比的组合来表示使用tag)
语法格式: {% tags %}
if
{% if expression %} ... {% elif expression %} ... {% endif %}
for
{% for item in list %} <p>{{ forloop.counter0 }}</p> {% endfor %}
#forloop.counter表示循环的次数,从1开始计数,第一次循环设为1
#forloop.counter0表示循环的次数,从0开始计数,第一次循环设为0
#forloop.revcounter表示循环的次数,从1开始计数,逆序
#forloop.revcounter0表示循环的次数,从0开始计数,逆序
#forloop.first {% if forloop.first %}
#forloop.last {% if forloop.last %}
{% for item in list %}
{% if forloop.first %} #第一次循环时
<p>first</p>
{% elif forloop.last %} #最后一次循环时
<p>last</p>
{% else %}
<p>{{ forloop.counter }}</p>
{% endif %}
{% endfor %}
3 自定义filter和simple_tag
from django import template from django.utils.safestring import mark_safe register = template.Library() #register的名字是固定的,不可改变 @register.filter def filter_multi(v1,v2): return v1 * v2 @register.simple_tag def simple_tag_multi(v1,v2): return v1 * v2 @register.simple_tag def my_input(id,arg): result = "<input type=‘text‘ id=‘%s‘ class=‘%s‘ />" %(id,arg,) return mark_safe(result)
https://docs.djangoproject.com/en/1.11/ref/templates/builtins/
以上是关于django之Template的主要内容,如果未能解决你的问题,请参考以下文章