Django内置中间件的默认列表

Bol*_*wyn 4 sorting django settings middleware built-in

Django附带了一个内置中间件列表,但是如果想要使用所有(或大多数)中间件,他必须通过大量的文档才能在settings.py文件中获得正确的排序.

是否有所有内置Django 1.1中间件类的最佳默认顺序?即,要将'n'paste复制到settings.py中:

MIDDLEWARE_CLASSES = (
  # perfect order here please ;-)
)
Run Code Online (Sandbox Code Playgroud)

备选答案:是否有多种可能的排序,有什么区别?

顺便说一下:顺序重要,但我只知道一些默认的依赖项,比如AuthenticationMiddleware之前的SessionMiddleware.

Thi*_*Lam 10

他们有核心Django中间件的默认列表:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)
Run Code Online (Sandbox Code Playgroud)

您可以在上面的元组末尾添加您创建或从第三方获取的任何其他内容.Django的书中还提到,在查看请求,顺序是从CommonMiddlewareAuthenticationMiddleware最后你的看法.在退货响应中,订单从反AuthenticationMiddleware转到CommonMiddleware.这是它的文档.

回应评论:

在搜索了Django门票之后,看起来这是Django开发社区的一个已知问题,我认为还没有最终答案.这是包含讨论的门票以及雅各布关闭它的部分.您可能想尝试将该问题再次作为Django票证来获得正式的开发响应.