美文网首页
Django使用模版——初级(2)

Django使用模版——初级(2)

作者: jshan | 来源:发表于2018-09-11 01:14 被阅读0次

    常用命令

    if/else

    基本用法

    {% if condition %}
        ...
    {% endif %}
    
    # 或者
    {% if condition1 %}
        ...
    {% elif condition2 %}
        ...
    {% else %}
        ...
    {% endif %}
    

    另外:

    • 可以使用 and / or 来对多个条件进行组合判断
    • 可以使用 not 对变量取反

    for

    基本用法

    {% for i in items %}
        ...
    {% endfor %}
    
    # 或者反向迭代
    {% for j in itmes reversed %}
        ...
    {% endfor %}
    

    ifequal/ifnotequal

    基本用法

    # 判断两个变量是否相等
    {% ifequal user currentuser %}
        ...
    {% endifequal %}
    
    # 或者
    {% ifequal user currentuser %}
        ...
    {% else %}
        ...
    {% endifequal %}
    

    注释

    如需要注释内容,可以使用 {# 注释内容 #}

    显示变量

    如需要显示变量,可以使用 {{ 变量名 }}
    如需要显示字典或者是数组的某个下标元素,可以使用 {{ kwargs.key1 }} / {{ args.0 }}. 方法除了这两种情况之外,还可以用来使用函数对象或者是对象的属性,例如获取时间对象 date 的 月份,例如 {{ date.month }}

    过滤器

    模版过滤器可以在变量被显示前修改它,过滤器使用管道字符,例如如下的 lower

    # 将文档大写转换为小写
    {{ name|lower }}
    

    过滤管道可以被套接,即一个过滤器管道的输出也可以作为下一个管道的输入,例如如下

    # 取变量的第一个元素,然后将其转化为大写
    {{ name|first|upper }}
    

    过滤器可以带参数,并且参数跟随冒号之后,总是以双引号包含,例如如下

    # 取变量的前30个词
    {{ name|truncatewords:"30" }}
    

    include

    使用 include 允许在模版中包含其他的模版的内容,例如如下
    {% include "other_template.html" %}

    模版继承

    模版可以用继承的方式来实现复用,例如如下的 base.html 可以被 hello.html 继承,并替换掉特定的 block

    # base.html
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>js test</title>
    </head>
    <body>
        <h1>Hello js</h1>
        {% block mainbody %}
            <p>base.html</p>
        {% endblock %}
    </body>
    </html>
    
    # hello.html
    {% extends "base.html" %}
    
    {% block mainbody %}
        <p>hello.html 继承了 base.html</p>
    {% endblock %}
    
    # base.html文件的输出为
    Hello js
    base.html
    
    # hello.html文件的输出为
    Hello js
    hello.html 继承了 base.html
    

    相关文章

      网友评论

          本文标题:Django使用模版——初级(2)

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