flask第二十篇——模板
Posted 自动化测试实战
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask第二十篇——模板相关的知识,希望对你有一定的参考价值。
现在我们通过查询字符串的方式给render_template
传参,我们就要用到flask
库的flask.request.args.get()
函数先获取参数,在index.html
中给url_for
传next
,最后在login.html
函数中通过{{ next }}
传值。代码如下:
rendertemplateDemo.py
文件
# coding: utf-8
from flask import Flask, render_template
import flask
app = Flask(__name__) # type: Flask
app.debug = True
@app.route('/')
def hello_world():
title = {"tPrize": "key",
"info": {"name": u"Warren",
"age": 18,
"gender": u"男"},
"val": {"title": u'标题',
"content": u'内容'}}
return render_template('post/index.html', **title)
@app.route('/login/')
def login():
next = flask.request.args.get('next')
return render_template('login.html', next=next)
if __name__ == '__main__':
app.run()
index.html
文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>这里是title</title>
</head>
<body>
{# <p>这段代码被注释了</p>#}
<p>{{ info }}</p>
<a href="{{ url_for('login', next='首页') }}">链接到登录页面</a>
</body>
</html>
login.html
文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
这是登录页面,它来自{{ next }}。
</body>
</html>
然后执行代码,看到:
点击“链接到登录页面”后:
如果你想指定传值类型是path
类型,那么就要给login
函数传值了:
修改rendertemplateDemo.py
文件的login
函数如下:
@app.route('/login/<next>/')
def login(next):
# next = flask.request.args.get('next')
return render_template('login.html', next=next)
另外两个文件不变,然后执行代码:
点击“链接到登录页面”后:
以上是关于flask第二十篇——模板的主要内容,如果未能解决你的问题,请参考以下文章