Flask web开发之路四
jinjia2模板
模板渲染和参数传递
项目结构如下:

主app文件代码:
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
class Person(object):
name = 'hyq'
age = 25
p = Person()
context = {
'username':'hyq',
'gender':'男',
'age':'',
'person':p,
'websites':{
'baidu': 'www.baidu.com',
'google': 'www.google.com'
}
}
return render_template('index.html',**context)
if __name__ == '__main__':
app.run(debug = True)
index.html文件代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
这是HTML文件中出现的文字
<p>用户名:{{ username }}</p>
<p>性别:{{ gender }}</p>
<p>年龄:{{ age }}</p> <hr>
<p>名字:{{ person.name }}</p>
<p>年龄:{{ person.age }}</p> <hr>
<p>百度:{{ websites.baidu }}</p>
<p>谷歌:{{ websites.google }}</p>
</body>
</html>
### Flask渲染Jinja2模板和传参:
1. 如何渲染模板:
* 模板放在`templates`文件夹下
* 从`flask`中导入`render_template`函数。
* 在视图函数中,使用`render_template`函数,渲染模板。注意:只需要填写模板的名字,不需要填写`templates`这个文件夹的路径。
2. 模板传参:
* 如果只有一个或者少量参数,直接在`render_template`函数中添加关键字参数就可以了。
* 如果有多个参数的时候,那么可以先把所有的参数放在字典中,然后在`render_template`中,
使用两个星号,把字典转换成关键参数传递进去,这样的代码更方便管理和使用。
3. 在模板中,如果要使用一个变量,语法是:`{{params}}`
4. 访问模型中的属性或者是字典,可以通过`{{params.property}}`的形式,或者是使用`{{params['age']}}`.
前端展示效果:

Flask web开发之路四的更多相关文章
- Flask web开发之路十四
今天开始Flask的实战,创建一个项目,实现包括用户登录.注册.注销.发表博客.评论以及检索等功能 首先给出项目结构: 1.config.py文件: 存放各种配置信息 import os # dial ...
- Flask web开发之路九
flask_scripts介绍 项目结构如下: flask_script_demo.py文件: from flask import Flask app = Flask(__name__) @app.r ...
- Flask web开发之路一
之前学过一段时间的flask,感觉还是挺好用的,自己的专利挖掘项目也想这个web框架来搭建,于是重新开始基础学习 环境:win10,python3.6,pycharm2017,虚拟环境virtuale ...
- Flask web开发之路十三
g对象 ### 保存全局变量的g属性:g:global1. g对象是专门用来保存用户的数据的.2. g对象在一次请求中的所有的代码的地方,都是可以使用的. 项目结构: g_demo.py文件代码: f ...
- Flask web开发之路十二
ge请求和post请求 ### get请求和post请求:1. get请求: * 使用场景:如果只对服务器获取数据,并没有对服务器产生任何影响,那么这时候使用get请求. * 传参:get请求传参是放 ...
- Flask web开发之路十一
首先写一下cookie和session的概念,然后是Flask中session的工作机制以及操作session ### cookie: 1. `cookie`出现的原因:在网站中,http请求是无状态 ...
- Flask web开发之路十
首先介绍循环引用的问题: 当一个模块需要引用另一个模块的类,而另一个模块又需要引用这个模块的类时,就出现了循环引用,而没法导入类,这时候可以切断其中一条引用路径,增加一个模块 项目结构: models ...
- Flask web开发之路八
今天写Flask_SQLAlchemy的外键及其关系 ### Flask-SQLAlchemy外键及其关系: 主app文件代码: from flask import Flask from flask_ ...
- Flask web开发之路七
今天写SQLAlchemy数据库 首先介绍ORM的概念: ORM,Object类,Relationship:关系,Mapping:映射,也就是模型关系映射 flask-sqlalchemy是一套ORM ...
随机推荐
- Java 之外,是 Scala 还是 Groovy?【转载】
原文地址 Scala 和 Groovy 都是基于 JVM 的语言,相比 Java,它们都有语法更加简明和表达能力更丰富.对于那些既想不脱离开 JVM 又想避免 Java 繁琐语句的开发人员来说,Sca ...
- 机器学习算法中的偏差-方差权衡(Bias-Variance Tradeoff)
简单的以下面曲线拟合例子来讲: 直线拟合后,相比原来的点偏差最大,最后一个图完全拟合了数据点偏差最小:但是拿第一个直线模型去预测未知数据,可能会相比最后一个模型更准确,因为最后一个模型过拟合了,即第一 ...
- python2判断编码格式
def getCoding(strInput): ''' 获取编码格式 ''' if isinstance(strInput, unicode): return "unicode" ...
- Oracle 12c: RMAN restore/recover pluggable database
查看数据库状态 运行在归档模式,可拔插数据库name=pdborcl SQL> archive log list; Database log mode Archive Mode Automati ...
- pod update报错(Cocoapods: Failed to connect to GitHub to update the CocoaPods/Specs specs repo)报错解决方案
好长一段时间没动pods,今天偶然需要更新一个库,于是执行了下pod update,然后惊悚的出现了这个报错: [!] Failed to connect to GitHub to update th ...
- system函数遇到的问题
这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以 ...
- kafka项目中踩到的一个坑(客户端和服务器端版本不一致问题)
启动项目时控制台抛出的异常信息: -- :: --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 't ...
- 在webpack中使用postcss-px2rem的
经过一番折腾重要搞定了. 首先需要安装postcss-plugin-px2rem. npm install --save-dev postcss-plugin-px2rem 我的webpack工程中没 ...
- idea 导入 android项目
1. 2. 主要是勾选上面选项. next next 导入即可
- 程序-代写(qq:928900200)
CS 310 Programming Assignment 4 Due April 27, 2014 5:00 P.M. About 15 years in the future... The Mar ...