【发布时间】:2015-10-13 13:17:06
【问题描述】:
在 django 1.8 中更新数据库记录时出错
Forbidden (403)
CSRF verification failed. Request aborted.
我的网址:
url(r'^blog/update/(?P<id>[0-9]+)/$','news.views.update')
def edit(request,id):
blogs = Blog.objects.get(pk=id)
return render_to_response('news/edit.html',{'blogs':blogs})
def update(request,id):
if request.method=='POST':
blog = Blog.objects.get(pk=id)
blog.title = request.POST.get('title')
blog.content = request.POST.get('content')
blog.save()
return HttpResponse('updated successfully!!')
else:
return HttpResponse('error')
新闻/edit.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>
【问题讨论】:
-
你的中间件中有'django.middleware.csrf.CsrfViewMiddleware'吗?