• Django基础篇(二)


    Template基础

    ------------模板语法---------------

    逻辑控制代码的组成

    1标签(tag)的使用(使用大括号和百分比的组合来表示使用tag)

    {% tags%}

    ------{% if %} 的使用

     {% if %}标签计算一个变量值,如果是“true”,即它存在、不为空并且不是false的boolean值,系统则会显示{% if %}和{% endif %}间的所有内容

    {% if num >= 100 and 8 %}
    
        {% if num > 200 %}
            <p>num大于200</p>
        {% else %}
            <p>num大于100小于200</p>
        {% endif %}
    
    {% elif num < 100%}
        <p>num小于100</p>
    
    {% else %}
        <p>num等于100</p>
    
    {% endif %}
    
    
    
    {% if %} 标签接受and,or或者not来测试多个变量值或者否定一个给定的变量
    {% if %} 标签不允许同一标签里同时出现and和or,否则逻辑容易产生歧义,例如下面的标签是不合法的:
    
    {% if obj1 and obj2 or obj3 %}

    ------{% for %}的使用

    {% for %}标签允许你按顺序遍历一个序列中的各个元素,每次循环模板系统都会渲染{% for %}和{% endfor %}之间的所有内容

     1 {% for name in name_list %}
     2     <li>{{ name }}</li>
     3 {% endfor %}
     4 
     5 
     6 #在标签里添加reversed来反序循环列表:
     7 {% for name in name_list reversed%}
     8     <li>{{ name }}</li>
     9 {% endfor %}
    10 
    11 
    12 #{% for %}标签可以嵌套:
    13 {% for name in name_list %}
    14     <h1>{{ name }}</h1>
    15     <ul>
    16     {% for i in li %}
    17         <p>{{ i }}</p>
    18     {% endfor %}
    19      </ul>
    20 {% endfor %}
    #系统不支持中断循环,系统也不支持continue语句,{% for %}标签内置了一个forloop模板变量,
    #这个变量含有一些属性可以提供给你一些关于循环的信息
    
    1,forloop.counter表示循环的次数,它从1开始计数,第一次循环设为1:
    {% for name in name_list %}
    <h1>{{ name }}</h1>
    <ul>
    {% for i in li %}
    <p>{{ i }}</p>
    {% endfor %}
    </ul>
    {% endfor %}


    {% for name in name_list reversed%}
    <li>{{ forloop.counter }}{{ name }}</li>
    {% endfor %}

    {% for name in name_list reversed%}
    <li>{{ forloop.revcounter }}{{ name }}</li>
    {% endfor %}
    2,forloop.counter0 类似于forloop.counter,但它是从0开始计数,第一次循环设为0
    3,forloop.revcounter
    4,forloop.revcounter0
    5,forloop.first当第一次循环时值为True,在特别情况下很有用:
     {% for object in objects %}   
             {% if forloop.first %}<li class="first">{% else %}<li>{% endif %}   
             {{ object }}   
            </li>  
        {% endfor %}  
        
    # 富有魔力的forloop变量只能在循环中得到,当模板解析器到达{% endfor %}时forloop就消失了
    # 如果你的模板context已经包含一个叫forloop的变量,Django会用{% for %}标签替代它
    # Django会在for标签的块中覆盖你定义的forloop变量的值
    # 在其他非循环的地方,你的forloop变量仍然可用
    
    
    #{% empty %}
    
    {{li }}
          {%  for i in li %}
              <li>{{ forloop.counter0 }}----{{ i }}</li>
          {% empty %}. #如果改列表为空,就执行该代码块的内容
              <li>this is empty!</li>
          {% endfor %}
    
    #         [11, 22, 33, 44, 55]
    #            0----11
    #            1----22
    #            2----33
    #            3----44
    #            4----55

     

  • 相关阅读:
    HDU
    hdu-1260 tickets
    hdu-1024 Max Sum Plus Plus
    spfa+链式前向星模板
    kafka-伪集群搭建
    elasticsearch-安装-centos7- es7.5 搭建
    elk-安装 通过docker
    kibana-安装-通过docker
    logstash -grok插件语法介绍
    docker 启动redis/nginx
  • 原文地址:https://www.cnblogs.com/YingLai/p/6482946.html
Copyright © 2020-2023  润新知