和周围的很多人一样,我在使用 CSRF 和 Django 时遇到了很多问题。
这是上下文:
- 我创建了一个 https 网站,用户可以在其中上传文件
- 我使用 Django 1.4.2 创建了这个网站
- 我创建了一个应用程序 *file_manager* 可以做我想要的
- 我是仅通过管理网址使用此应用程序
如果我django.middleware.csrf.CsrfViewMiddleware在MIDDLEWARE_CLASSESmy 中禁用,则settings.py一切正常。
我可以在 Debian Squeeze 下的命令行中使用 cURL 在我的模板上上传文件,该文件命中服务器,没问题。
然而,它似乎并不安全。
所以我启用django.middleware.csrf.CsrfViewMiddleware
它不再起作用。我收到有关 CSRF 验证的各种错误。
我相信我已经消除了通常的嫌疑人(我希望至少
):{% csrf_token %}
- - RequestContext
-CsrfViewMiddleware在settings.py
您会在下面找到该过程中涉及的所有文件(我希望):
视图.py
from django.http import HttpResponse, HttpResponseRedirect, Http404
from django.template import Context, loader, RequestContext
from django.shortcuts import render, get_object_or_404, redirect, render_to_response
from django.core.urlresolvers import reverse …Run Code Online (Sandbox Code Playgroud)