django - Django 内置中间件的默认列表

标签 django sorting settings middleware built-in

Django 带有 list of built-in middleware ,但是如果想要使用所有(或大部分)它们,他必须通过大量文档才能在 settings.py 文件中获得正确的排序。

是否有所有内置 Django 1.1 中间件类的最佳默认顺序?即,要复制“n”粘贴到 settings.py 中的内容:

MIDDLEWARE_CLASSES = (
  # perfect order here please ;-)
)

替代答案:是否有多种可能的排序方式,有什么区别?

顺便说一句:顺序很重要,但我只知道一些默认依赖项,例如 AuthenticationMiddleware 之前的 SessionMiddleware。

最佳答案

他们确实有一个 default list对于核心 Django 中间件:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)

您创建或从第三方获得的任何其他内容都可以添加到上述元组的末尾。 Django 书中还提到,在 View 请求中,订单来自 CommonMiddlewareAuthenticationMiddleware最后是你的观点。在返回响应中,顺序与 AuthenticationMiddleware 颠倒至 CommonMiddleware .这是doc为了它。

回复评论:

在搜索了 Django 门票后,这似乎是 Django 开发社区的一个已知问题,我认为还没有最终答案。这是ticket其中包含讨论以及雅各布关闭它的部分。您可能想尝试将该问题作为 Django 票再次提交以获得官方开发人员响应。

关于django - Django 内置中间件的默认列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1820267/

相关文章:

django - 让用户登录到测试客户端

linux - Linux中的快速排序 "back off"是否实现为插入排序?

java - 关闭 Intellij 中的自动完成选项卡删除

java - double 有理数的最快排序算法

.net - 在 My.Setting 中重置 key

python - 埃里克 IDE : default directory

android - 收到通知后应用程序崩溃

django - 为什么 Django 模型的内部 Meta 类受到限制?

python - Django 测试错误 : relation does not exist

java - 对通用集合进行排序