zoukankan      html  css  js  c++  java
  • 中间件

    视图函数

    中间件类

    class JsonMiddleware(MiddlewareMixin):
        def process_response(self, request, response):
            if isinstance(response, HttpResponse):
                return response
    
            if isinstance(response, dict):
                return HttpResponse(
                    json.dumps(response, ensure_ascii=True, cls=DateEncoder),
                    content_type="application/json",
                )
    
            return HttpResponse(response)

     

    setting配置:

    process_request 方法

    process_request 方法有一个参数 request,这个 request 和视图函数中的 request 是一样的。

    process_request 方法的返回值可以是 None 也可以是 HttpResponse 对象。

    • 返回值是 None 的话,按正常流程继续走,交给下一个中间件处理。
    • 返回值是 HttpResponse 对象,Django 将不执行后续视图函数之前执行的方法以及视图函数,直接以该中间件为起点,倒序执行中间件,且执行的是视图函数之后执行的方法。

    process_response

    process_response 方法有两个参数,一个是 request,一个是 response,request 是请求对象,response 是视图函数返回的 HttpResponse 对象,该方法必须要有返回值,且必须是response。

    process_response 方法是在视图函数之后执行的。

    isinstance函数

  • 相关阅读:
    第1组 团队Git现场编程实战
    第二次结对编程作业
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    2019 SDN上机第二次作业
    2019 SDN上机第一次作业
    软件工程第五次作业
  • 原文地址:https://www.cnblogs.com/yu121/p/14466008.html
Copyright © 2011-2022 走看看