我继承了一个Django应用程序,我最初使用的是Django 1.9。最近我将它迁移到Django 1.11和Python 3.4(从2.7)。从那时起,我的一些管理员视图已经开始失败,出现403 Forbidden错误,CSRF验证失败。我查看了the documentation,并检查了以下内容:
MIDDLEWARE_CLASSES
,但django.middleware.csrf.CsrfViewMiddleware
已包含在我的配置中(仅次于SessionMiddleware
和CommonMiddleware
)。{% csrf_token %}
内容。render_to_response()
,并将RequestContext(request)
作为第三个参数传递给它。(据我所知,在Django / Python升级期间或之后,这些都没有改变。)
虽然我有很多Python网络编程经验,但我对Django并不熟悉。我缺少什么/如何进一步调试?
答案 0 :(得分:2)
context_instance
参数为deprecated in 1.8,随后在1.10中删除。如果您在上下文中需要请求,请改用render()
并将请求作为第一个参数传递。您应该在第三个参数中将上下文作为普通字典传递。