模板中for 的使用


from flask import Flask,render_template app = Flask(__name__) app.config.update(
DEBUG = True,
) @app.route('/')
def index():
context = {
'user':['老男孩是垃圾1','老男孩是垃圾2','老男孩是垃圾3'],
'person':{
'name':"xiaowu",
'age': 18,
'salary' : 10000,
},
'books':[
{
'name':'三国演义',
'author':'罗贯中',
'price':110
},
{
'name': '红楼梦',
'author': '曹雪芹',
'price': 109
},
{
'name': '西游记',
'author': '吴承恩',
'price': 111
},
{
'name': '水浒传',
'author': '施耐庵',
'price': 112
},
]
}
return render_template('for_used.html',**context) if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>for模板使用</title>
<style>
th,td{
border: solid 1px silver
}
</style>
</head>
<body>
<h1>for循环的模板使用</h1>
<!--reverse过滤器,反转列表元素-->
{% for foo in user|reverse %}
<li>{{ foo }}</li>
<!--user中没有任何值,是空列表-->
{% else %}
<p>列表中没有任何值</p>
{% endfor %} <table style="border-spacing: 1px;">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>薪水</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ person.name }}</td>
<td>{{ person.age }}</td>
<td>{{ person.salary }}</td>
</tr>
</tbody>
</table>
<table style="border-spacing: 1px;">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>薪水</th>
</tr>
</thead>
<tbody>
<tr>
{% for key,value in person.items() %}
<td>{{ value }}</td>
{% endfor %}
</tr>
<!--下面的写法-->
<tr>
{% for value in person.values()%}
<td>{{ value }}</td>
{% endfor %}
</tr>
</tbody>
</table>
<!--------------------------------------------------------------------->
<table>
<thead>
<tr>
<th>序号</th>
<th>书名</th>
<th>作者</th>
<th>价格</th>
</tr>
</thead>
<tbody>
{% for book in books %}
<!--loop.first,看是否是第一迭代,是True,不是false-->
{% if loop.first %}
<tr style="background: red">
<!--loop.last,看是否是最后一次迭代,是True,不是false-->
{% elif loop.last %}
<tr style="background: green">
{% else %}
<tr>
{% endif %}
<!---loop.index 从1开始计数,计数列表有多少元素-->
<!---loop.index0 从0开始技术-->
<td>{{ loop.index }}</td>
<td>{{ book.name }}</td>
<td>{{ book.author }}</td>
<td>{{ book.price }}</td>
{# <td style="row-span: 4">#}
{# <!--loop.length的列表的长度-->#}
{# <h4>总数:{{ loop.length }}</h4>#}
{# </td>#}
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td>
<p style="font-weight: bold;font-size: 12px">总数</p>
</td>
<!--rowspan中必须指定要合并的列数目,是两行还是三行等等-->
<!--colspan中必须指定要合并的列数目,是两列还是三列等等-->
<td colspan="" style="text-align: center">
4
</td>
</tr>
</tfoot>
</table>
</body>
</html>
模板中for 的使用的更多相关文章
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- SMARTY模板中如何使用get,post,request,cookies,session,server变量
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中 ...
- django url路径与模板中样式相对路径的问题
static目录下有css和js及image等文件夹,里面放置网站的一些静态文件,static位于网站根目录下,django中配置静态文件这个就细说,网上都有,昨天在添加新内容时发现一个问题,我的ur ...
- 走进AngularJs(二) ng模板中常用指令的使用方式
通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...
- [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Thinkphp回顾(五)之前台模板中的基本语法
一.导入CSS和JS文件 的三种方式 (了解) 1.link方式(常规) <link rel=’stylesheet’ type=’text/css’ href=’__PUBLIC__/Js/ ...
- Thymeleaf+SpringMVC,如何从模板中获取数据
Thymeleaf+SpringMVC,如何从模板中获取数据 在一个典型的SpringMVC应用中,带@Controller注解的类负责准备数据模型Map的数据和选择一个视图进行渲染.这个模型Map对 ...
- ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况
在ThinkPHP的模板中操作session时,可以参考ThinkPHP参考文档中的“模板—>系统变量”部分,在默认模板引擎中,语法如下: {$Think.session.user} //输出s ...
- ejs模板中的四种表达式输出形式
在ejs模板中,通常会用下面四种方式在HTML中输出服务端的变量或表达式的值: 1. 直接在<%%>中写表达式或变量.这种情况通常只是用来进行表达式计算或给变量赋值,不会有任何输出,被称作 ...
- django 模板中url的处理
在模板中直接添加‘/home’这样的链接是十分不推荐的,因为这是一个相对的链接,在不同网页中打开可能会返回不一样的结果. 所以推荐的是 <a href="{{ object.get_a ...
随机推荐
- python基础语法-Ⅲ
Python注释 python中单行注释采用 # 开头. 实例 输出结果: 注释可以在语句或表达式行末: python 中多行注释使用三个单引号(''')或三个双引号(""&quo ...
- cdh-完整
安装包 CLOUDERA管理安装包 http://archive.cloudera.com/cm5/cm/5/ http://archive.cloudera.com/cm5/cm/5/clouder ...
- Qt之去除窗口的标题栏、通过鼠标移动窗口
设置标题栏图标,位置与大小示例 #include<QApplication> #include<QWidget> #include<QDebug> #include ...
- 最小生成树问题:kruskal算法
struct edge(int u,v,cost;};bool comp(const edge& e1,const edge& e2){ return e1.cost<e2 ...
- Codeforces 1213D Equalizing by Division
cf题面 中文题意 给n个数,每次可以把其中一个数字位运算右移一位(即整除以二),问要至少操作几次才能让这n个数中有至少k个相等. 解题思路 这题还有个数据范围更小的简单版本,n和k是50,\(a_i ...
- Postman(二)、调试模式
postman提供了一个调试模式,很方便我们写脚本以及断言 在脚本中用console.log()打印,到控制台查看 比如写入如下脚本: 点击Send后,在控制台可以看到如下信息
- Misha and Permutations Summation
A - Misha and Permutations Summation 首先这个 mod n! 因为数量级上的差别最多只会对康拓展开的第一项起作用所以这个题并不需要把 ord (p) 和 ord ( ...
- kaliXSSbeef的使用
Kali中Beef的安装和使用: 先打开终端输入 apt-get install beef-xss 然后切换到beef的安装目录 cd /usr/share/beef-xss 然后启动beef ./b ...
- Java并发编程之java.util.concurrent包下常见类的使用
一,Condition 一个场景,两个线程数数,同时启动两个线程,线程A数1.2.3,然后线程B数4.5.6,最后线程A数7.8.9,程序结束,这涉及到线程之间的通信. public class Co ...
- 出现org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER, 且出现无法找到Maven的依赖的问题
解决方案:Build Path -> Java Build Path ->Libraries ->Add Library ->Maven Managed Dependences ...