Python django中中间件类的顺序
这本书有这个 要激活此CSRF保护,请添加 将“django.contrib.csrf.middleware.CsrfMiddleware”添加到 在您的设置文件中设置类。这个中间件 需要在SessionMiddleware之后处理响应,因此 CsrfMiddleware必须出现在列表中SessionMiddleware之前 (因为响应中间件是从后到前处理的) 然而,它告诉我们不同 中间件\u类=( 'django.middleware.common.CommonMiddleware', “django.contrib.sessions.middleware.SessionMiddleware”, “django.middleware.csrf.CsrfViewMiddleware”, 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',) 这有点让人困惑..CsrfViewMiddleware现在是否在SessionMiddleware之后处理响应?有人能澄清一下吗?来自Django文档: 将中间件“django.middleware.csrf.CsrfViewMiddleware”添加到 中间件类、中间件类的列表。(它应该早到 假设已处理CSRF攻击的任何视图中间件 ) 资料来源: 下面是我在新生成的Django项目(1.3.1)中的中间件列表: 因此,是的,Django现在在会话中间件之后处理CSRF中间件Python django中中间件类的顺序,python,django,Python,Django,这本书有这个 要激活此CSRF保护,请添加 将“django.contrib.csrf.middleware.CsrfMiddleware”添加到 在您的设置文件中设置类。这个中间件 需要在SessionMiddleware之后处理响应,因此 CsrfMiddleware必须出现在列表中SessionMiddleware之前 (因为响应中间件是从后到前处理的) 然而,它告诉我们不同 中间件\u类=( 'django.middleware.common.CommonMiddleware', “dj
Django的书已经严重过时了——我现在不会把它作为学习Django的资源。另一方面,Django教程是一个极好的资源。这在今天仍然适用吗
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',
)