美文网首页
django 模板

django 模板

作者: 现实里的童话xklss | 来源:发表于2018-11-04 20:12 被阅读0次

    模板

    模板的设计实现了业务逻辑view与显示内容template的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用。

    模板包含两部分:
    静态部分,包含html、css、js。
    动态部分,就是模板语言。

    模板语言

    变量
    标签
    过滤器
    注释

    模板变量

    模板变量的作用是计算并输出,变量名必须由字母、数字、下划线(不能以下划线开头)和点组成。
    语法如下:
    {{变量}}

    标签

    语法如下:
    {%代码段%}

    for标签语法如下:
    {%for item in 列表%}

    循环逻辑
    {{forloop.counter}}表示当前是第几次循环,从1开始
    {%empty%}
    列表为空或不存在时执行此逻辑
    {%endfor%}

    if标签语法如下:
    {%if ...%}
    逻辑1
    {%elif ...%}
    逻辑2
    {%else%}
    逻辑3
    {%endif%}

    比较运算符如下:
    注意:运算符左右两侧不能紧挨变量或常量,必须有空格。
    == ! = < > <= >=

    布尔运算符如下:
    and
    or
    not

    过滤器

    语法如下:
    使用管道符号|来应用过滤器,用于进行计算、转换操作,可以使用在变量、标签中。
    如果过滤器需要参数,则使用冒号:传递参数。
    变量|过滤器:参数
    长度length,返回字符串包含字符的个数,或列表、元组、字典的元素个数。
    默认值default,如果变量不存在时则返回默认值。
    data|default:'默认值'

    日期date,用于对日期类型的值进行字符串格式化,常用的格式化字符如下:
    Y表示年,格式为4位,y表示两位的年。
    m表示月,格式为01,02,12等。
    d表示日, 格式为01,02等。
    j表示日,格式为1,2等。
    H表示时,24进制,h表示12进制的时。
    i表示分,为0-59。
    s表示秒,为0-59。
    value|date:"Y年m月j日 H时i分s秒"

    自定义过滤器

    过滤器就是python中的函数,注册后就可以在模板中当作过滤器使用,下面以求余为例开发一个自定义过滤器mod。
    过滤器可以接收参数

    注释

    在模板中使用如下模板注释,这段代码不会被编译,不会输出到客户端;html注释只能注释html内容,不能注释模板语言。

    1)单行注释语法如下:
    {#...#}
    注释可以包含任何模版代码,有效的或者无效的都可以。
    {# { % if foo % }bar{ % else % } #}

    2)多行注释使用comment标签,语法如下:
    {%comment%}
    ...
    {%endcomment%}

    相关文章

      网友评论

          本文标题:django 模板

          本文链接:https://www.haomeiwen.com/subject/bjsdxqtx.html