Flask web应用项目路由函数的5种返回值
一、返回字符串
@app.route('/')
def index():
return 'Hello World!!'
二、返回重定向redirect函数
from flask import redirect # 引入重定向函数
@app.route('/')
def index():
return 'Hello World!!'
@app.route('/one')
def one():
return redirect('/') # 返回值是路由的重定向,和第一个的页面相同
也可使用url_for()_函数,路径反向解析,通过路由函数寻找相应的路由。
from flask import redirect , url_for
@app.route('/')
def index():
return 'Hello World!!'
@app.route('/one')
def one():
return redirect(url_for('index'))
也可通过endpoint路由指示,进行反向解析查找
from flask import redirect , url_for
@app.route('/',endpoint='hello')
def index():
return 'Hello World!!'
@app.route('/one')
def one():
return redirect(url_for('hello'))
三、返回html页面渲染
from flask import render_template # 引入渲染函数
@app.route('/two')
def two():
return render_template('two.html')
two.html文件是在templets文件下直接创建的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>返回html页面渲染</title>
</head>
<body>
<h1>返回html页面渲染</h1>
</body>
</html>
返回模板渲染时,还可以传值,可同时传递多个值,可传递字符串,列表,元组,对象等类型数据。
例:
@app.route('/two')
def two():
return render_template('two.html', name='hello', name1=['张三', '李四', '王麻子'])
四、返回文件
from flask import send_file
@app.route('/three')
def three():
return send_file('static/images/2.jpg')
可返回图片,音乐,视频等文件信息
五、返回json
from flask import jsonify
@app.route('/four')
def four():
obj = {
"code": 200,
"content": {
"data": "Hello"
}
}
return jsonify(obj)