zoukankan      html  css  js  c++  java
  • Flask框架之请求和响应

    获取请求数据

    1. url路径参数

    在Flask框架中获取url参数和在Django框架中的方法一致,都是在路由中书写匹配规则

    代码如下:

    from flask import request
    #
    获取url参数 @app.route('/url/<user_id>') def get_url(user_id): return user_id

    2. 查询字符串参数

    在Flask框架中,使用request.args属性可以获取到查询字符串数据构造的字典。

    代码如下:

    from flask import request
    # 获取查询字符串参数
    @app.route('/get_args')
    def get_args():
        args = request.args
        return args

    3. Form表单数据

    在Flask框架中,我们是用request.form属性获取表单传递字典数据。

    代码如下:

    from flask import request
    # 获取form表单数据
    @app.route('/get_form', methods=['post'])
    def get_form():
        form_data = request.form
        return form_data

    4. JSON数据

    在Flask框架中,我们使用request.json属性获取JSON数据。

    代码如下:

    from flask import request
    # 获取JSON数据
    @app.route('/get_json', methods=['post'])
    def get_json():
        json_data = request.json
        return json_data

    5. 文件数据

    在Flask框架中,我们使用request.files属性获取文件数据。

    代码如下:

    from flask import request
    # 获取文件数据
    @app.route('/get_files', methods=['post'])
    def get_files():
        img = request.files.get('img')
        img.save('./2.png')
        return 'get files'

    6. 请求头数据

    在Flask框架中,我们使用request.headers属性可以获取到请求头中的Environ数据,并不能直接获取到header中的数据,还要结合.environ.get('key')

    代码如下:

    # 获取请求头数据
    @app.route('/get_headers')
    def get_headers():
        header_datas = request.headers
        return 'get_headers'

    7. 请求方法

    在Flask框架中,我们使用request.method属性,可以获取到请求的方法。

    代码如下:

    # 获取请求方法
    @app.route('/get_method')
    def get_method():
        method_data = request.method
        return method_data

    返回响应数据

    1. 渲染jinja2模版

    在Flask框架中,我们使用render_template属性来渲染jinja2模版。

    代码如下:

    from flask import render_template
    # 渲染模板
    @app.route('/template')
    def render_temp():
        # 构造渲染数据
        context = {
            'name':'laowang',
            'age':23
        }
        return render_template('index.html', context=context)

    在jinja2模版中,我们需要以如下语法进行数据的渲染:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>{{context.name}}</h1>
    <h1>{{context.age}}</h1>
    </body>
    </html>

    2. 返回JSON数据

    在Flask框架中,我们可以有两种方式返回JSON数据,一种是直接返回字典类型数据,另一种是使用jsonify属性来实现返回JSON数据。

    代码如下:

    from flask import jsonify
    # 响应JSON数据
    @app.route('/ret_json')
    def ret_json():
        data = {
            'name': 'laowang',
            'age': 23
        }
        return jsonify(data)

    3. 重定向

    在Flask框架中,我们使用redirect属性,进行重定向。

    代码如下:

    from flask import redirect
    # 重定向
    @app.route('/redirect_url')
    def red():
        return redirect('/')

    4. 自定响应数据

    在Flask框架中,我们可以通过make_response属性来自定义响应数据。

    代码如下:

    from flask import make_response
    # 自定义响应
    @app.route('/my_res')
    def my_res():
        my_response = make_response()
        my_response.status = "201"
        return my_response
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    如何:为 Silverlight 客户端生成双工服务
    Microsoft Sync Framework 2.1 软件开发包 (SDK)
    Windows 下的安装phpMoAdmin
    asp.net安全检测工具 Padding Oracle 检测
    HTTP Basic Authentication for RESTFul Service
    Windows系统性能分析
    Windows Server AppFabric Management Pack for Operations Manager 2007
    Mongo Database 性能优化
    服务器未能识别 HTTP 标头 SOAPAction 的值
    TCP WAIT状态及其对繁忙的服务器的影响
  • 原文地址:https://www.cnblogs.com/chao666/p/12394813.html
Copyright © 2011-2022 走看看