• 关于Flask_响应的介绍


    Flask_响应

    一.重定向

    • 永久性重定向
      http 的状态码是 301,多用于旧网址被废弃了要转到一个新的网 址确保用户的访问
    • 暂时性重定向
      http 的状态码是 302,表示页面的暂时性跳转。比如:登入界面
    • flask中重定向
      重定向是通过 redirect(location,code=302) 这个函数来实现的, location表示 需要重定向到的 URL, 应该配合之前讲的 url_for() 函数来使用, code 表示采用哪个重定向,默认是 302 也即 暂时性重定向, 可以 修改成 301 来实现永久性重定向。

    二.响应内容

    • 返回字符串
    • 返回JSON
      from flask import jsonify
      jsonify(JSON数据)
      
      • 1
      • 2
    • 返回元组
      可以返回一个元组,元组中必须至少包含一个项目,且项目应当由 (response, status) 、 (response, headers) 或者 (response, status, headers) 组成。 status 的值会重载状态代码, headers 是一个由额外头部值组成的列表 或字 典 status 值会覆盖状态代码, headers 可以是一个列表或字典,作 为额外的消息标头值。

    三.自定义响应

    认识:从后台返回到前台的数据都是Response对象!
    要导入Response对象和make_response方法!
    创建Response对象:Response(内容+参数)
    自定义Response对象:rsp = make_response(内容)
    可以给自定义的Response对象设置属性值:status,header,cookie等属性!

    四.实例

    重定向:
    #coding=utf-8
    
    from flask import Flask,redirect,url_for
    
    app = Flask(__name__)
    
    @app.route('/user_login/')
    def login():
        return "Hello~欢迎进入登入界面!"
    
    @app.route('/info/')
    def info():
        return redirect(url_for('login'),code=301)
    
    if __name__ == "__main__":
        app.run(debug=True)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述

    响应内容:
    #coding=utf-8
    
    from flask import Flask
    
    
    app = Flask(__name__)
    
    
    @app.route('/r_str/')
    def r_str():
        return "哈哈哈,你好哇!"
    
    # 返回json数据关键:
    from flask import jsonify
    app.config['JSON_AS_ASCII']=False
    
    #返回json数据方法一:
    @app.route('/r_json1/')
    def r_json1():
        return jsonify({"hh":"你好啊!"})
    
    #返回json数据方法二:
    @app.route('/r_json2/')
    def r_json2():
        return {"hh":"你好啊!"}
    
    
    #返回元组
    @app.route('/r_tuple/')
    def r_tuple():
        return 'hh',250,{'wo~':'qf'}
    
    if __name__ == "__main__":
        app.run(debug=True)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    自定义Response对象:
    #coding=utf-8
    
    
    from flask import Flask,Response,make_response
    
    app = Flask(__name__)
    
    @app.route('/rsp/')
    def show_rsp():
        rsp = make_response('这个是创建的Response对象!')
        rsp.headers = {'qf':'hh'}
        rsp.status = 200
        return rsp
    
    if __name__ == "__main__":
        app.run(debug=True)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    注:

    如果觉得笔记有些问题,麻烦在百忙之中在评论中指正,或提出建议!另外,如果觉得这份笔记对你有所帮助,麻烦动动发财的小手手点一波赞!

  • 相关阅读:
    MySQL MVCC工作原理
    c++模板
    【考研复试】计算机相关专业面试英语自我介绍范文(一)
    《FFmpeg Basics》中文版-03-比特率/帧率/文件大小
    2731. 移动机器人
    Go 1.23中的自定义迭代器与iter包
    【前端手写】call和apply方法
    TiDB 集群监控部署
    趣学算法:分治算法
    外汇天眼:外汇投资入门知识炒汇者的心理误区有哪些?
  • 原文地址:https://blog.csdn.net/qq_55961861/article/details/126470510