首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MIDDLEWARE_CLASSES在django中的阶

MIDDLEWARE_CLASSES在django中的阶
EN

Stack Overflow用户
提问于 2012-03-30 01:33:45
回答 1查看 1.3K关注 0票数 3

djangobook有这个部分

要激活此CSRF保护,请将'django.contrib.csrf.middleware.CsrfMiddleware‘添加到设置文件中的MIDDLEWARE_CLASSES设置中。这个中间件需要在SessionMiddleware之后处理响应,所以CsrfMiddleware必须出现在列表中的SessionMiddleware之前(因为响应中间件是先到后处理的)。

然而,djangoproject页面告诉它的不同

'django.contrib.sessions.middleware.SessionMiddleware',‘django.medileware.csrf.CsrfView中间件’,'django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware',)

现在是有点confusing..Do的CsrfViewMiddleware处理SessionMiddleware后的反应了吗?有人能澄清吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-30 01:47:02

来自Django的文档:

将中间件“django.middleware.csrf.CsrfViewMiddleware”添加到中间件类列表MIDDLEWARE_CLASSES中。(应该在假定CSRF攻击已经处理过的任何视图中间件之前进行。)

来源:https://docs.djangoproject.com/en/1.4/ref/contrib/csrf/#how-csrf-works

下面是新生成的Django项目(1.3.1)中的中间件列表:

代码语言:javascript
复制
MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

因此,是的,Django现在在会话中间件之后处理CSRF中间件。

Django书已经严重过时了--我现在不会用它作为学习Django的资源。另一方面,Django教程是一个很好的资源。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9935876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档