我有一个模型:Django CSRF验证失败。请求中止
class Tour(models.Model):
owner_id = models.ForeignKey(User)
name = models.CharField(max_length=50)
location = models.ManyToManyField(Location)
subscribers = models.ManyToManyField(User, related_name="sub")
tour_date = models.DateField(null=True)
description = models.CharField(max_length=300, null=True)
这包括这种形式的模板:
<form method="post" action="/mytours/">
{% csrf_token %}
<input name="name" value="{{ name }}" class="pull-left" type="text" placeholder="Type the tour name... "></br>
<input name="tour_date" value="{{ tour_date }}" type="text" id="datepicker" placeholder="Pick a tour date..."/>
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
<button type="submit" class="btn btn-primary">Save</button>
</form>
而在我的意见,我试图添加到我的数据库是什么填写表格:
if request.method == 'POST':
location = Location.objects.get(id=1)
name = request.POST.get('name', '')
tour_date = request.POST.get('tour_date', '')
tour = Tour()
tour.owner_id = user.pk
tour.name = name
tour.tour_date = tour_date
tour.location = location
tour.save()
c = {'name':name, 'tour_date':tour_date, 'tour':tour}
c.update(csrf(request))
return render_to_response("myTours.html", c)
我是新的django,我不知道问题在哪里。
http://stackoverflow.com/questions/10388033/csrf-verification-failed-request-aborted – AJJ
“Django CSRF验证失败,请求中止”可能是由中间件引发的。 – jpic
@jpic,是的,我的错误,你必须是正确的,如果错误出现的中间件必须在场,他大概只需要添加context_instance。 – AJJ