Flask框架 之abort、自定义错误、视图函数返回值与jsonify

一、abort函数

  使用abort函数可以立即终止视图函数的执行,并可以返回给前端特定的值。

  abort函数的作用:

    • 1、传递状态码,必须是标准的http状态码
    • 2、传递响应体信息
@app.route("/login", methods=["POST", "GET"])
def login():
    name = request.form.get("name")
    password = request.form.get("password")
    if name != "yy" or password != "admin":
        # 使用abort函数可以立即终止视图函数的执行
        # 并可以返回给前端特定的值
        # 1、传递状态码,必须是标准的http状态码
        abort(400)
        # 2、传递响应体信息
        resp = Response("login failed")
        abort(resp)
    return "登录成功"

二、自定义错误信息

  通过@app.errorhandler(状态码)定义

@app.errorhandler(404)
def error_404(error):
    return "您访问的页面不存在!!!错误信息:%s" % error

@app.errorhandler(405)
def error_405(error):
    return "禁止访问,错误信息:%s" % error

三、视图返回信息(Response)处理

# 1、使用元组返回自定义响应信息
@app.route("/")
def index():
    #           响应体      状态码  响应头
    # return "hello world", 400,  [("city", "yy")]
    return "this is index", "666 status", {"city": "yy"}

# 2、使用make_response返回自定义响应信息
@app.route("/login")
def login():
    resp = make_response("this is login")
    resp.status = "999 status"
    resp.headers["city"] = "yy"
    return resp

 四、返回json数据

@app.route("/")
def index():
    # data = {
    #     "name": "yy",
    #     "age": 18
    # }
    # json_str = json.dumps(data)
    # return json_str, 200, {"Content-type": "application/json"}
    return jsonify(name="yy", age="18")

 

posted @ 2019-06-12 21:21  样子2018  阅读(680)  评论(0编辑  收藏  举报