zoukankan      html  css  js  c++  java
  • 🍖Flask请求对象与响应对象

    一.请求对象

    from flask import Flask,request,render_template,redirect,make_response
    app = Flask(__name__)
    
    @app.route('/',methods=['get',"POst"])
    def test():
        print(request.method)      # 获取请求方式
        print(request.args)        # 获取get请求数据
        print(request.form)        # 获取post请求数据(不包含文件数据)
        print(request.values)      # 包含get请求,post请求数据
        print(request.cookies)     # 获取客户端携带的cookie
        print(request.headers)     # 获取请求头中所携带的数据
        print(request.path)        # 获取不带域名只带参数的请求路径
        print(request.full_path)   # 获取不带域名的但携带"?"后参数的路径
        print(request.script_root) #
        print(request.url)         # 获取请求路径http://127.0.0.1:5000/
        print(request.base_url)    # 获取请求路径http://127.0.0.1:5000/
        print(request.url_root)    # 获取请求路径http://127.0.0.1:5000/
        print(request.host_url)    # 获取请求路径http://127.0.0.1:5000/
        print(request.host)        # 获取当前请求用户IP和port: 127.0.0.1:500
        print(request.files)       # 获取文件数据
    
        return 'ok'
    
    if __name__ == '__main__':
        app.run()
    

    ps : 在Flask中 request 是一个全局变量, 而在 Django 中是每一个视图函数都有一个 request 对象, 为什么在flask中使用request不会混乱呢? 一定是Flask帮我们处理了这个问题, 后面讲解

    二.响应对象

    from flask import Flask,request,render_template,redirect,jsonify,make_response
    app = Flask(__name__)
    
    @app.route('/',methods=['get',"POst"])
    def test():
        # return 'ok'  # 直接返回字符串,支持返回HTML标签
        # return render_template('index.html',locals())  # 渲染一个HTML页面,并可以将数据传入
        # return redirect('/index.html')  # 重定向到某个页面
        # return jsonify({"k1":"v1"})  # 返回json格式数据(Django中使用JsonResponse)
    
        # 返回response对象
        response = make_response("Hello word!")
    
        # 在response中操作cookie
        response.set_cookie("name","shawn")  # 设置cookie : key-value
        # response.delete_cookie('name')  # 删除cookie
    
        # 设置响应头
        response.headers['NAME'] = "I am Shawn!"
    
        # response是flask.wrapper中Response的对象
        print(type(response))  # <class 'flask.wrappers.Response'>
        from flask.wrappers import Response
        return response
    
    if __name__ == '__main__':
        app.run()
    
    • 浏览器cookie

    image-20210603212321781

    • 响应头 Response Headers

    image-20210603212520701

  • 相关阅读:
    Step by step Dynamics CRM 2013安装
    SQL Server 2012 Managed Service Account
    Step by step SQL Server 2012的安装
    Step by step 活动目录中添加一个子域
    Step by step 如何创建一个新森林
    向活动目录中添加一个子域
    活动目录的信任关系
    RAID 概述
    DNS 正向查找与反向查找
    Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs
  • 原文地址:https://www.cnblogs.com/songhaixing/p/14851626.html
Copyright © 2011-2022 走看看