【Flask】 python学习第一章 - 2.0 视图方式和返回值
路由参数与请求方式制定
ALT+回车 pycharm 快速导包
demo3 指定访问地址 与请求方式
# 给路由传入参数 使用尖括号 ,视图函数需要接收参数
@app.route("/index/<int:user_id>", method=['POST, 'GET'])
def index(user_id):
return "%s + demo" % user_id
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from flask import Flask, request app = Flask(__name__, static_url_path='/python27', # 必须以斜杠开头 否则报错 static_folder='static', template_folder='templates') @app.route('/') def index(): return "hello wolrd" # 给路由传入参数 使用尖括号 ,视图函数需要接收参数 # <int:user_id> 限定参数为整数 @app.route('/user/<int:user_id>') def demo01(user_id): return "%s+demo2" % user_id # 添加请求方式 @app.route("/demo3", methods=['GET', 'POST']) def demo3(): # 打印请求类型 return "demo3 %s" % request.method if __name__ == '__main__': app.run("127.0.0.1", 8080, debug=True) 路由参数与请求方式
demo4 将字典转成json格式
# json.dumps("{字典}") 字典转换json字符串
# json.loads("{json"}) json转字典 封装响应 指定返回类型
直接使用 return jsonify(字典) 直接返回json格式 Flask自带 指定返回content-type【内容类型】
return jsonify("字典参数")
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from flask import Flask, request, json app = Flask(__name__, static_url_path='/python27', # 必须以斜杠开头 否则报错 static_folder='static', template_folder='templates') @app.route('/') def index(): return "hello wolrd" # 给路由传入参数 使用尖括号 ,视图函数需要接收参数 # <int:user_id> 限定参数为整数 @app.route('/user/<int:user_id>') def demo01(user_id): return "%s+demo2" % user_id # 添加请求方式 @app.route("/demo3", methods=['GET', 'POST']) def demo3(): # 打印请求类型 return "demo3 %s" % request.method @app.route("/json") def demo4(): # key 必须为字符串 json_dict = { "name": "laowang", "age": 18, "color": "green" } # 将字典转为字符串 #result = json.dumps(json_dict) return jsonify(json_dict) if __name__ == '__main__': app.run("127.0.0.1", 8080, debug=True)
demo5 重定向
# url_for 指定视图的路由URL 并且可以携带参数
@app.route("/redirect")
def demo5():
# return redirect("https://www.baidu.com")
return redirect(url_for("demo01", user_id=123))
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from flask import Flask, request, json, redirect, url_for app = Flask(__name__, static_url_path='/python27', # 必须以斜杠开头 否则报错 static_folder='static', template_folder='templates') @app.route('/') def index(): return "hello wolrd" # 给路由传入参数 使用尖括号 ,视图函数需要接收参数 # <int:user_id> 限定参数为整数 @app.route('/user/<int:user_id>') def demo01(user_id): return "%s+demo2" % user_id # 添加请求方式 @app.route("/demo3", methods=['GET', 'POST']) def demo3(): # 打印请求类型 return "demo3 %s" % request.method @app.route("/json") def demo4(): # key 必须为字符串 json_dict = { "name": "laowang", "age": 18, "color": "green" } # 将字典转为字符串 result = json.dumps(json_dict) test_dict = json.loads('{"name":"laowang","age":18}') return result # demo5 重定向 @app.route("/redirect") def demo5(): # return redirect("https://www.baidu.com") return redirect(url_for("demo01", user_id=123)) if __name__ == '__main__': app.run("127.0.0.1", 8080, debug=True)
demo6 自定义状态码
@app.route("/demo6")
def demo6():
return 'demo6' , 666
一个爱学习的oscar