django第四课 标签的用法(if/else、for、ifequal、过滤器、注释等)
if/else
{% if %}
<p>内容</P>
{% endif %}
{% else %}是可选标签
{% if %}
<p>内容</P>
{% else %}
<p>内容</p>
{% endif %}
'真值'
False:空元组 空字典 空字符串 0 None False
for
<ul>
{% for athlete in athlete_list %}
<li>{{ athlete.name }}</li>
{% endfor %}
</ul>
加入reserved,列表会被反向迭代输出
<ul>
{% for athlete in athlete_list reserved %}
<li>{{ athlete.name }}</li>
{% endfor %}
</ul>
for语句也可以嵌套使用
<ul>
{% for athlete in athlete_list reserved %}
<h>{{ athlete.name }}</h>
<ul>
{% for sport in athlete.sports_played %}
<li>{{ sport }}</li>
{% endfor %}
</ul>
{% endfor %}
</ul>
Django不支持退出循环操作。 如果我们想退出循环,可以改变正在迭代的变量,让其仅仅包含需要迭代的项
目。 同理,Django也不支持continue语句,我们无法让当前迭代操作跳回到循环头部。
forloop
在每个`` {% for %}``循环里有一个称为`` forloop`` 的模板变量。这个变量有一些提示循环进度信息的属性。forloop.counter 总是一个表示当前循环的执行次数的整数计数器。 这个计数器是从1开始的,所以在第一次循环时 forloop.counter 将会被设置为1。
{% for item in todo_list %}
<p>{{ forloop.counter }}: {{ item }}</p>
{% endfor %}
forloop.counter0 类似于 forloop.counter ,但是它是从0计数的。 第一次执行循环时这个变量会被设置为0。
forloop.revcounter 是表示循环中剩余项的整型变量。 在循环初次执行时 forloop.revcounter 将被设置为序列中项的总数。 最后一次循环执行中,这个变量将被置1。
forloop.revcounter0 类似于 forloop.revcounter ,但它以0做为结束索引。 在第一次执行循环时,该变量会被置为序列的项的个数减1。
forloop.first 是一个布尔值,如果该迭代是第一次执行,那么它被置为````
forloop.last 是一个布尔值;在最后一次执行循环时被置为True。
ifequal/ifnotequal
{% ifequal %}标签比较两个值,当他们相等时,显示在 {% ifequal %}和 {% endifequal %}之中所有的值。
{% ifequal user currentuser %}
<h1>Welcome!</h1>
{% endifequal %}
{% if %}类似, {% ifequal %}支持可选的 {% else%}标签
{% ifequal section 'sitenews' %}
<h1>Site News</h1>
{% else %}
<h1>No News Here</h1>
{% endifequal %}
注释
{# This is a comment #}
过滤器
{{ name|lower }}:将name装换成小写
{{ my_list|first|upper }}:将my_list的第一个字母大写
{{ bio|truncatewords:"30" }}:取bio的前30个字符串
最新文章
- 对象布局已知时 C++ 对象指针的转换时地址调整
- MySql数据类型问题
- Pureftp-安全的ftp服务器部署
- Google 开发新的开源系统 Fuchsia
- 国内外做MySQL的公司
- 金融证券协议FIX/FAST/STEP
- 模板:qsort+bsearch应用
- *[topcoder]TheTree
- 游戏算法中lua脚本详解
- MYSQL常用简单语句
- 关于PS的一些总结
- 过16道练习学习Linq和Lambda(转)
- laravel 配置MySQL读写分离
- 转载---JQuery 对 Select option 的操作
- java-solr solrj的使用
- 录制JMeter脚本的方式
- Linux&#160;CentOS下Python+robot&#160;framework环境搭建
- 一、JSP九大内置对象 	二、JAVAEE三层架构和MVC设计模式 	三、Ajax
- find bugs设置
- Struts2:Struts2在jsp中使用标签时值的获取
热门文章
- SpringMVC上传图片总结(2)--- 使用百度webuploader上传组件进行上传图片
- Codeforces807 A. Is it rated? 2017-05-08 23:03 177人阅读 评论(0) 收藏
- Codeforces801C Voltage Keepsake 2017-04-19 00:26 109人阅读 评论(0) 收藏
- centos7 磁盘管理—— lvm的使用
- [翻译] FastReport 变量列表使用
- MAC将 /etc/sudoers文件修改错后的几种解决方法
- ADO.NET系列之DataAdapter对象
- poj 3250 Bad Hair Day(栈的运用)
- 程序媛计划——mysql外键
- Greedy- 621. Task Scheduler