03-flask-视图函数基础
代码
from flask import Flask, request, url_for, jsonify, redirect
# 创建Flask对象
app = Flask(__name__)
@app.route('/user/<int:userID>')
def user(userID):
# url_for('user2', userID=32) # /user2/32
return redirect(url_for('user2', userID=userID))
# 重定向
@app.route('/user2/<userID>')
def user2(userID):
userInfoJsonDict = {
'id': userID,
'username': 'python实习生'
}
print('asdfasdf')
return jsonify(userInfoJsonDict), 333 # 返回值 数据, 状态码
@app.route('/userInfo')
def userInfo():
userInfoJsonDict = {
'username': 'python实习生'
}
return jsonify(userInfoJsonDict)
if __name__ == '__main__':
# 定义程序运行host 以及 port
app.run(host='127.0.0.1', port='8080', debug=True)
运行截图
-
调用userInfo 函数得到 json 数据的返回值

-
重定向
redirect 定向到 其他网站
@app.route('/')
def baidu():
return redirect('www.baidu.com')
redirect 定向到自己写的视图函数
@app.route('/userInfoRedirect')
def userInfoRedirect():
return redirect('/userInfo')
redirect 使用url_for 定向到自己写的视图函数
@app.route('/user/<int:userID>')
def user(userID):
return redirect(url_for('user3'))
redirect 使用url_for 定向到自己写的视图函数 传入参数
@app.route('/user/<int:userID>')
def user(userID):
# url_for('user2', userID=32) # /user2/32
return redirect(url_for('user2', userID=userID)) # 接收参数=传入参数
-
自定义状态码
@app.route('/user2/<userID>')
def user2(userID):
userInfoJsonDict = {
'id': userID,
'username': 'python实习生'
}
return jsonify(userInfoJsonDict), 333 # 返回值 数据, 状态码

浙公网安备 33010602011771号