模板中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 ...
随机推荐
- qt5---布局
QHBoxLayout 水平布局: Header: #include <QHBoxLayout> qmake: QT += widgets Inherits:QBoxLayout ...
- C#写入文件内容时提示:文件正被另一个人或程序使用
创建文件后未将文件关闭 string sTransLogFile = sTransLogPath + "\\" + DateTime.Now.ToString("yyyy ...
- 【leetcode】1261. Find Elements in a Contaminated Binary Tree
题目如下: Given a binary tree with the following rules: root.val == 0 If treeNode.val == x and treeNode. ...
- three months timestamp
1.有效期三个月 package com.hengqin.life.idps; import java.text.SimpleDateFormat; import java.util.Calendar ...
- QT Creator 添加Lib库
LIBS += -LD:/Path/ -lTest1.lib -lTest2.lib 解析:在路径D:/Path/ 下 添加Test1.lib Test2.lib库 -L 和小写'-l"没有 ...
- 16位masm汇编实现记忆化递归搜索斐波那契数列第50项
.model small ;递归fib,使用压缩BCD码,小端派 .data y1 byte 6 dup(0) y2 byte 6 dup(0) vis byte 1,1,1,61 dup(0) ;便 ...
- Thinkphp3.2.3中的RBAC权限验证
最近在用TP的RBAC权限控制,在这里记录学习一下.先来看看相关的概念 一.相关概念 访问控制与RBAC模型1.访问控制: 通常的多用户系统都会涉及到访问控制,所谓访问控制,是指通过某种 ...
- linux 文件目录介绍
网上的资源 太多了,copy 过来 留给自己用吧! 摘自 : http:/ 使用linux也有一年多时间了 最近也是一直在维护网站系统主机 下面是linux目录结构说明 本人使用的是centos系 ...
- Java常考面试题整理(一)
1.什么是java虚拟机?为什么java被称作是"平台无关的编程语言". 参考答案: java虚拟级是一个可以执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟 ...
- Override和Overload的含义与区别
overload是重载,重载是一种参数多态机制,即代码通过参数的类型或个数不同而实现的多态机制. 是一种静态的绑定机制(在编译时已经知道具体执行的是哪个代码段). override是重写,重写是一种 ...