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 ...
随机推荐
- u-boot 的介绍及系统结构
u-boot 介绍 Uboot 是德国 DENX 小组的开发用于多种嵌入式 CPU 的 bootloader 程序, UBoot 不仅仅支持嵌入式 Linux 系统的引导,当前,它还支持 Net ...
- Navicat Premium_11.2.7 安装及破解,连接Oracle数据库
下载Navicat Premium_11.2.7简体中文版, 安装 Navicat 11 for Windows 系列原版程序.Navicat | 下载 Navicat 14 天 Windows.Ma ...
- du和df
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在 的,没有被删除的.(-s:summarize 仅显示总计,只列出最后加总的值) df,disk ...
- Android欢迎页短暂白屏
在style中application theme下添加以下代码: <item name="android:windowIsTranslucent" >true</ ...
- windows2012 日志查看过程
Windows2012界面修改好造成有些人不知道在哪里查找windows 日志 我这边截图描述一下 1. 2.输入 命令 eventvwr.msc 3.弹出 windows 事件查看器 4.若需要 ...
- ERROR 1872
解决 > start slave; ERROR (HY000): Slave failed to initialize relay log info structure from the rep ...
- [JZOJ3303] 【集训队互测2013】城市规划
题目 题目大意 求\(N\)个点的简单无向图的方案数(有编号). 结果对\(1004535809\)取模. 思考历程 感觉这个问题非常经典. 当时想到了一堆式子,但都觉得可能会有重和漏,于是弃掉了-- ...
- mysql数据库优化思路
1.设置合适的主键和索引. (1).设置主键和索引的字段尽量不要选取经常修改的字段,同时索引的个数一般不宜超过6个: (2).sql语句中like “%str%” 不支持索引, "str% ...
- 阿里云代码管理平台 Teambition Codeup(行云)亮相,为企业代码安全护航
2019杭州云栖大会企业协作与研发效能专场,企业协同平台Teambition负责人齐俊元正式发布阿里云自研的代码管理平台Teambition Codeup(行云),Codeup是一款企业级代码管理产品 ...
- day19 装饰器
Python之路,Day7 = Python基础7 randomwrapper 包装材料:包装纸:书皮global a 全局的(也就是,函数最外面的那个)nonlocal a 局部的,上层的函数的变量 ...