zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    约瑟夫
    用过的ps操作
    guns框架试用笔记
    让使用WebForm的.aspx文件写的WebApi能够跨域访问
    DevExpress的GridView的行变和列变
    SSMS18.0缺少调试功能
    EF_CodeFirst框架版本问题
    微信小程序框架了解2---js的写法
    微信小程序框架了解1---总体了解
    Chrome浏览器写代码片段的地方
  • 原文地址:https://www.cnblogs.com/yang-2018/p/11012803.html
Copyright © 2011-2022 走看看