查看路由列表
app.url_map
使用url跳转
url = url_for(路由函数)
retrun redirect(url)
转换器 int float path
@app.route("/goods/<int:good_id>") # 也可以不加int 默认是普通字符串<str>(不能有斜杠)def goods(good_id):return "id is %s" % good_id
自定义转换器
可构造许多不同的正则表达式
from werkzeug.routing import BaseConverterclass RegexConverter(BaseConverter):def __init__(self, url_map, regex):super(RegexConverter, self).__init__(url_map)# 将参数保存为属性self.regex = regexclass RegexConverter2(BaseConverter):def __init__(self, url_map, regex):super(RegexConverter2, self).__init__(url_map)# 将参数保存为属性self.regex = r'1[34578]\d{9}'app.url_map.converters["re"] = RegexConverterapp.url_map.converters["mo"] = RegexConverter2@app.route("/send/<re(r'1[34578]\d{9}'):mobile>")def send_sms(mobile):return "it is %s" % mobile@app.route("/send/<mo:mobile>")def send_sms2(mobile):return "it is %s" % mobile
abort
abort(404) 返回handle_404_error(err)
设置请求头

jsonify
自动将字典转化为字符串并设置相应信息:data 200 {“Content-Type”: “application/json”}
@app.route("/index")def index():data = {"name": "python","age": 20}return jsonify(data)# 也可以直接jsonify(name="python", age=20)
设置 读取 删除 cookie
from flask import Flask, make_responseapp = Flask(__name__)# 设置@app.route("/set_cookie")def set_cookie():resp = make_response("success")# 设置cookie 默认有效期是浏览器关闭。resp.set_cookie("key", "value")resp.set_cookie("key1", "value1", max_age=3600)# 一个小时过期return resp# 获取@app.route("/get_cookie")def get_cookie():c = request.cookies.get("key")return c# 删除@app.route("/dele_cookie")def dele_cookie():resp = make_response("success")resp.dele_cookie("key")return respif __name__ == '__main__':app.run(debug=True)
session 机制
一定要设置 SECRET_KEY
app.comfig["SECRET_KEY"] = "dwh "@app.route("/login")def set_session():session["name"] = "python"session["mobile"] = "232156546"return "OK"@app.route("/index")def index():name = session.get["name"]return "%s OK" % name
g 变量
可在上下文之间传递参数,临时设置变量。
from flask import Flask, make_response, request, g@app.route("/login/<username>")def set_session(username):g.username = str(username)return "OK"@app.route("/index")def index():name = g.usernamereturn "%s OK" % name
hook



flask_script
from flask import Flask, make_response, request, gfrom flask_script import Managerapp = Flask(__name__)manager = Manager(app)app.config["SECRET_KEY"] = "dwh "@app.route("/login/<username>")def set_session(username):g.username = str(username)return "OK"if __name__ == '__main__':manager.run()
即可在命令行中运行:python3 main.py runserver -h 0.0.0.0 -p 6000
不使用蓝图的分模块

使用蓝图的分模块
主程序中注册蓝图
小模块中创建蓝图
添加前缀
这个时候就要访问/orders/get_orders
目录结构


顶层
