专栏名称: 创宇前端
目录
相关文章推荐
龙视新闻联播  ·  “三个突破年”在行动丨政通亲“青” 协作共赢 ·  20 小时前  
龙视新闻联播  ·  “三个突破年”在行动丨政通亲“青” 协作共赢 ·  20 小时前  
山东环境  ·  2025年全国“安全生产月”公益广告 ·  昨天  
山东环境  ·  2025年全国“安全生产月”公益广告 ·  昨天  
山西省生态环境厅  ·  山西:持续厚植高质量发展的绿色底色 ·  2 天前  
山西省生态环境厅  ·  山西:持续厚植高质量发展的绿色底色 ·  2 天前  
程序员好物馆  ·  Tailwind 是技术债务:组件化 ... ·  2 天前  
程序员好物馆  ·  Tailwind 是技术债务:组件化 ... ·  2 天前  
广东司法行政  ·  潮州:首创基层社会治理"1+3+5"工作机制 ·  2 天前  
广东司法行政  ·  潮州:首创基层社会治理"1+3+5"工作机制 ·  2 天前  
51好读  ›  专栏  ›  创宇前端

从请求到响应 django 都做了哪些处理

创宇前端  · 掘金  · 前端  · 2018-01-25 02:08

正文

请到「今天看啥」查看全文


django 的中间件至少含有以下四个方法中的一个:process_request, process_response, process_view, process_exception。这些方法会被 WSGI handler 收集并按照顺序调用。

process_request

我们可以先来看看 django.contrib.auth.middleware.AuthenticationMiddleware:

def get_user(request):
    if not hasattr(request, '_cached_user'):
        request._cached_user = auth.get_user(request)
    return request._cached_user

class AuthenticationMiddleware(MiddlewareMixin):
    def process_request(self, request):
        assert hasattr(request, 'session'), (
              "The Django authentication middleware requires session middleware "
              "to be installed. Edit your MIDDLEWARE%s setting to insert "
              "'django.contrib.sessions.middleware.SessionMiddleware' before "
              "'django.contrib.auth.middleware.AuthenticationMiddleware'."






请到「今天看啥」查看全文