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  # 返回值  数据, 状态码
posted @ 2020-10-29 10:50  萌新_python  阅读(145)  评论(0)    收藏  举报