Flask--模板

模板

1.Flask框架没有自己的模板,需要使用第三方jinja2模板。Jinja2模板和django中的模板用法几乎相同。解析变量使用{{}},标签使用{%%}
2.后台传递数据的格式使用的是关键字传参

3.前端解析普通变量格式: {{name}}
4.前端解析字典格式的变量:{{变量名.key}} 或者 {{变量名[‘key’]}}
5.前端解析列表格式的变量:{{变量名.索引}} 或者 {{变量名[index]}}
在这里插入图片描述

from flask import Flask,render_template


app=Flask(__name__)

@app.route('/index/')
def index():
	userinfo={'name':'zs','age':20}
	#直接使用关键字传参
	#return render_template('index.html',name='zs',age=18)
	
	return render_template('index.html',**userinfo)

# 向页面传递字典格式内容
@app.route('/index2/')
def index2():
    userinfo = {'name': 'python', 'age': 20}
    return render_template('index2.html',userinfo=userinfo)
	

# 像页面传递列表
@app.route('/index3/')
def index3():
    lst=['zs','ls','ww']
    return render_template('index3.html',lst=lst)


if __name__ == '__main__':
    app.run()

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
首页...
<br>
姓名:{{ name }} >>>年龄:{{ age }}
</body>
</html>

index2.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
姓名:{{ userinfo.name }} 年龄:{{ userinfo.age }}
</body>
</html>

index3.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{{ lst.0 }}<<-->>{{ lst[1] }}
</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_44111377/article/details/92661571