J'ai rencontré ce problème mais malheureusement je ne sais toujours pas comment le résoudre. Le formulaire se rend parfaitement, j'entre les informations et j'obtiens une erreur CSRF. La raison donnée est jeton manquant ou incorrect
.
Vue:
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'))
Voici mon modèle:
{% csrf_token %}
{{ form }}
Je pense avoir tout fait correctement, je ne suis pas sûr de ce qui cause l'erreur CSRF. De plus, au cas où cela soit pertinent, je suivais ce guide :