CSRF验证失败。请求中止,Django Post请求

2024-04-23 20:56:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django1.8中更新数据库记录时出错

Forbidden (403)
CSRF verification failed. Request aborted.

我的网址:

url(r'^blog/update/(?P<id>[0-9]+)/$','news.views.update')

^{pr2}$

新闻/编辑.html在

<form action="/blog/update/{{blogs.id}}/" method="POST">{%csrf_token%}
    <label>Title:</label>
    <input type="text" name="title" value="{{blogs.title}}"><br>
    <label>Content:</label>
    <textarea cols="45" rows="4" name="content">{{blogs.content}}</textarea><br>
    <input type="submit" value="submit">

</form>

Tags: namebrformidinputtitlevaluetype
1条回答
网友
1楼 · 发布于 2024-04-23 20:56:50

您需要将csrf中间件添加到settings.py文件中:

MIDDLEWARE_CLASSES = (
...
'django.middleware.csrf.CsrfViewMiddleware',
)

还有,改变

return render_to_response('news/edit.html',{'blogs':blogs})

return render(request, 'news/edit.html', {'blogs': blogs})

或者

return render_to_response('news/edit.html', {'blogs': blogs}, context_instance=RequestContext(request))

这是因为您需要为每个请求添加一个上下文。在

Similar answer here

相关问题 更多 >