この問題に遭遇しましたが、残念ながらまだ修正方法がわかりません。フォームは完全にレンダリングされ、情報を入力すると CSRF エラーが発生します。与えられた理由はtoken missing or incorrect
.
意見:
def eventSell(request, id):
c = {}
c.update(csrf(request))
event = SquidEvent.objects.get(pk = id)
listing_form = ListingForm(request.POST)
if request.user.is_authenticated():
if request.method == 'POST':
listing_form = ListingForm(request.POST)
if listing_form.is_valid():
cd = listing_form.cleaned_data
user = request.user
item = Object(price = cd['price'], seller = user)
item.save()
return HttpResponseRedirect(reverse('tixeng:index'), c)
#print listing_form
else:
return render_to_response('tixeng/list.html', {'event' : event, 'form' : listing_form}, c)
else:
return HttpResponseRedirect(reverse('allauth.account.views.login'))
ここに私のテンプレートがあります:
<form action="{% url 'app:eventSell' event.id %}" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">
</form>
私はすべてを正しく行ったと思いますが、CSRF エラーの原因がわかりません。また、関連する場合に備えて、ガイドとしてこれに従っていました。