Django之模板语言(四) ------>Tags
案例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的更多相关文章
- 第四篇Django之模板语言
Django之模板语言 一 模板的执行 模板的创建过程,对于模板,其实就是读取模板(其中嵌套着模板的标签),然后将Model中获取的数据插入到模板中,最后将信息返回给用户 def current_da ...
- Django的模板语言
Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. ...
- django 更新 模板语言
Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言中按此语法使用:{{ 变量名 ...
- Django之模板语言(一)
1.Django的模板语言(简而言之,字符串替换) 1.目前为止已经学过的模板语言: 1.{{ name }} ------>变量 2. for 循环: {% for i in book_li ...
- Django之模板语言
一.模板语言介绍 模板语言渲染的整个过程其实就是将html转换成函数,并为该函数提供全局变量,然后执行该函数 二.模板语言的语法 模板中也有自己的语言,该语言可以实现数据展示 # 业务请求处理做的页面 ...
- django的模板语言中一些之前没有用过的小点
1.模板语言中的for循环的最后一个的表示方式 {% for auther in auther_list %} {% if forloop.last %} {# 这里的意思是for循环的最后一个的意思 ...
- Django的模板语言介绍
模板语言: 1.我们先看下在命令行中渲染模板 先导入模块对象 2.渲染一个变量 <p>当前时间:{{ time }}</p> return render(request,&qu ...
- django 中模板语言的各种用法
模板 1.视图中使用模板 模版的创建过程,对于模版,其实就是读取模版(其中嵌套着模版标签),然后将 Model 中获取的数据插入到模版中,最后将信息返回给用户 1.普通方法:HTML被直接硬编码在 P ...
- Django之模板语言(三)------>自定义filter
1.自定义filter: 1.在app01下面新建一个templatetags的python package包. 如果没有app01的话,可以通过命令行在manage中进行创建:python mana ...
随机推荐
- Shell 学习(二)
目录 Shell 学习(二) 1 设置环境变量 1.1 基本语法 1.2 实践 2 位置参数变量 2.1 介绍 2.2 基本语法 2.3 位置参数变量应用实例 3 预定义变量 3.1 基本介绍 3.2 ...
- 笔记:Python实现二分查找
def search(sequence, number, lower=0, upper=None): if upper is None: upper = len(sequence) - 1 if lo ...
- OpenCV-Python Tutorials目录
版本 3.4.6 1 Introduction to OpenCV OpenCV介绍Learn how to setup OpenCV-Python on your computer! 2 Gui F ...
- 【数位DP】CF55D Beautiful numbers
$dp[x][p][pp]$表示第x位,当前已有数字mod 2520(1~9数字的lcm)为p,当前各位数字的lcm为pp 观察到数组太大,考虑压缩,第三维lcm最多只有9个数字,打表发现最多只有48 ...
- php 查看linux服务器的磁盘使用情况
- Error: Cannot find module '@babel/core'
报错如下 产生原因 babel-loader和babel-core版本不对应所产生的, babel-loader 8.x对应babel-core 7.x babel-loader 7.x对应babel ...
- PHP算法之两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元 ...
- Python自学:第五章 使用range( )创建数字列表
# -*- coding: GBK -*- number = list(range(1,6)) print(number) 输出为: [1, 2, 3, 4, 5] 2. # -*- coding: ...
- 一张图轻松掌握 Flink on YARN 应用启动全流程(上)
Flink 支持 Standalone 独立部署和 YARN.Kubernetes.Mesos 等集群部署模式,其中 YARN 集群部署模式在国内的应用越来越广泛.Flink 社区将推出 Flink ...
- 浅谈简单实现file控件的图片预览,裁剪和上传。
1.图片预览之FileReader对象 FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用File或Blob对象指定要读取的文件或数据 ...