我正在写一个django服务器。一个非常奇怪的情况发生了——当我试图测试它时,我POST
指向其中一个url,只有process_request
中间件被命中,而与该url对应的process_view
和view函数都没有命中。进程在中间以某种方式停止,并向客户端返回HTTP 403
。另外,使用相同的url(和相同的视图函数),我GET
而不是在另一个时间,过程顺利进行,没有错误报告。所有其他视图函数/url都可以正常工作。在
服务器有点大,所以我不打算在这里全部展示;但是,我只有两个伪装的middlewares
--process_request
和{process_request
;它不返回HttpResponseForbidden
。在
以下是已安装的middlewares
:
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'ttam_container.ttam.middlewares.authentication.Authentication'
下面是已安装的应用程序:
^{pr2}$知道可能出什么问题吗?在
可能是因为你忘了在请求中包含csrf令牌。 如果您使用html表单,请在其中包含csrf_token标记
如果您使用ajax请求-阅读文档如何使用ajax和csrf保护https://docs.djangoproject.com/en/1.5/ref/contrib/csrf/
相关问题 更多 >
编程相关推荐