码迷,mamicode.com
首页 > 其他好文 > 详细

django之Template

时间:2017-10-07 16:14:57      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:var   default   form   strong   默认值   input   format   inpu   express   

模板的组成

组成: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

标签:var   default   form   strong   默认值   input   format   inpu   express   

原文地址:http://www.cnblogs.com/NewTaul/p/7634782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!