案例1:单层for循环

# Django 模板语言测试代码
def template_test(request):
name_list=["张三","李四","王五"]
return render(
request,
't_test.html',
{
"name_list":name_list,
}
)
<p>for循环</p>
<ul>
{% for name in name_list %}
<li>{{ forloop.counter }}---{{ name }}</li>
{# counter0表示从显示下标从0开始#}
{% endfor %}
</ul>
<ul>
{% for name in name_list %}
{% if forloop.last %}
<li class="样式1">{{ forloop.revcounter0 }}</li>
{% else %}
<li class="样式2{% if forloop.first %}我是写在标签中的if-else{% endif %}"> {{ forloop.revcounter }}---{{ name }}</li>
{% endif %}
{% endfor %}
</ul>

案例2:双层for循环

<p>双层循环</p>
{% for name in name_list2 %}
{% for name1 in name %}
{{ forloop.counter }}
{{ forloop.parentloop.last }}
{{ name1 }}
{% endfor %}
{% endfor %}

注:forloop.parentloop 表示双层循环的外层

案例:for-empty循环

<p>for-empty循环</p>
{% for name in name_list1 %}
{{ name }}
{% empty %}
<p>name_list1中暂时没有数据哦</p>
{% endfor %}

注:如果in 后面的变量中没有数据,则执行empty中语句。

案例:if-else分支语句

<p>if-elif else</p>
{% if person2 %}
<p>{{ person2 }}</p>
{% elif person1 %}
<p>{{ person1 }}</p>
{% else %}
<p>什么人都有</p>
{% endif %}
{% if name|length > 3 %}
<p>名字长度大于3</p>
{% else %}
<p>名字长度小于3</p>
{% endif %}

注:if条件和filter配合使用

案例:如果变量名字太长,可以用with结构

<p>with语句</p>
{% with name=name_list2.1.2 %}
{{ name }}
{% endwith %}

注:{{name}}等价于{{name_list2.1.2}}

Django之模板语言(四) ------>Tags的更多相关文章

  1. 第四篇Django之模板语言

    Django之模板语言 一 模板的执行 模板的创建过程,对于模板,其实就是读取模板(其中嵌套着模板的标签),然后将Model中获取的数据插入到模板中,最后将信息返回给用户 def current_da ...

  2. Django的模板语言

      Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. ...

  3. django 更新 模板语言

    Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言中按此语法使用:{{ 变量名 ...

  4. Django之模板语言(一)

    1.Django的模板语言(简而言之,字符串替换) 1.目前为止已经学过的模板语言: 1.{{ name }}  ------>变量 2. for 循环: {% for i in book_li ...

  5. Django之模板语言

    一.模板语言介绍 模板语言渲染的整个过程其实就是将html转换成函数,并为该函数提供全局变量,然后执行该函数 二.模板语言的语法 模板中也有自己的语言,该语言可以实现数据展示 # 业务请求处理做的页面 ...

  6. django的模板语言中一些之前没有用过的小点

    1.模板语言中的for循环的最后一个的表示方式 {% for auther in auther_list %} {% if forloop.last %} {# 这里的意思是for循环的最后一个的意思 ...

  7. Django的模板语言介绍

    模板语言: 1.我们先看下在命令行中渲染模板 先导入模块对象 2.渲染一个变量 <p>当前时间:{{ time }}</p> return render(request,&qu ...

  8. django 中模板语言的各种用法

    模板 1.视图中使用模板 模版的创建过程,对于模版,其实就是读取模版(其中嵌套着模版标签),然后将 Model 中获取的数据插入到模版中,最后将信息返回给用户 1.普通方法:HTML被直接硬编码在 P ...

  9. Django之模板语言(三)------>自定义filter

    1.自定义filter: 1.在app01下面新建一个templatetags的python package包. 如果没有app01的话,可以通过命令行在manage中进行创建:python mana ...

随机推荐

  1. jupyter中使用graphviz

    参考: https://www.cnblogs.com/zhanjiahui/p/11335038.html https://blog.csdn.net/linxid/article/details/ ...

  2. ctx.beginPath()开始新路径

    beginPath() 方法开始一条路径,或重置当前的路径. 提示:请使用这些方法来创建路径 moveTo().lineTo().quadricCurveTo().bezierCurveTo().ar ...

  3. thinkphp import标签

    传统方式的导入外部JS和CSS文件的方法是直接在模板文件使用: 直线电机哪家好 <script type='text/javascript' src='/Public/Js/Util/Array ...

  4. HttpClient 使用案例

    package com.qifeng.config.ygx.common.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fas ...

  5. js 中继承方式小谈

    题外话 前段时间面试中笔试题有这道题目: 请实现一个继承链,要求如下: 构造函数A():构造函数中有consoleA方法,可以实现console.log("a") 实例对象 a:a ...

  6. 10 行 Python 代码实现模糊查询/智能提示

    10 行 Python 代码实现模糊查询/智能提示   1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的 ...

  7. [kuangbin带你飞]专题一 简单搜索 - B - Dungeon Master

    #include<iostream> #include<cstdio> #include<string> #include<vector> #inclu ...

  8. 【转】5G标准——独立组网(SA)和非独立组网(NSA)

    独立组网模式(SA):指的是新建5G网络,包括新基站.回程链路以及核心网.SA引入了全新网元与接口的同时,还将大规模采用网络虚拟化.软件定义网络等新技术,并与5GNR结合,同时其协议开发.网络规划部署 ...

  9. JVM系列(三)— Java内存模型

    我们已经了解了Java虚拟机的运行时数据区,垃圾收集相关知识,接下来学习虚拟机非常重要的部分 这就是Java内存模型与线程(第12章),这一篇,将主要讲讲内存模型 了解Java内存模型之前,先了解下计 ...

  10. django汉化

    汉化admin后台管理站点 修改settings文件(将上表格内容改变为下表格): LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' LANGUAGE_CODE = ...