案例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. 【转】Windows(server2008)下使用VisualSVN Server搭建SVN服务器

    参考文献 1.Windows下使用VisualSVN Server搭建SVN服务器(百度经验)  挺好就是没有配图已验证可用 2.在Windows Server 2008上部署SVN代码管理器 把第二 ...

  2. PHP算法之Z 字形变换

    将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I RE T ...

  3. js添加节点

    <!DOCTYPE html><html><body><script>var message=document.createTextNode(" ...

  4. java 和 IntelliJ IDEA 的一些配置

    jdk 的下载与配置https://jingyan.baidu.com/article/ca41422fe3b7261eae99edc6.html intellij IDEA软件java项目No SD ...

  5. 校园商铺-2项目设计和框架搭建-5配置maven

    /src/main/java 存放业务的Java代码 /src/main/resources 存储项目所用到的资源文件,如各种Spring,batis,日志的配置文件 /src/test/java 单 ...

  6. Windows ping

    用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]            [-r count] [-s count] [[-j ...

  7. <前端>简单实现开心网注册

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. P1006 传纸条 /// DP+滚动数组

    题目大意: https://www.luogu.org/problemnew/show/P1006 题解 不难想到 求从起点到终点的两条不同的路 因为只能向右或向下走 所以纸条1和2不可能同时位于同一 ...

  9. Spring JdbcTemplate详解(9)

    JdbcTemplate简介 Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中. JdbcTempla ...

  10. C# 串口编程 对端口的访问被拒绝

    感谢Sunny秋刀鱼.https://www.cnblogs.com/527289276qq/p/5595798.html 在页面或者窗口Unloaded事件中关闭串口即可.