은 내가 Django Classifieds App에 따라 장고 응용 프로그램을 만들려고하고 있지만, 양식 제출 동안 오류가 점점 오전 : CSRF verification failed. Request aborted. Reason given for failure: CSRF token missing or incorrect.
"CSRF 확인에 실패했습니다. CSRF 토큰이 누락되었거나 올바르지 않습니다." 장고
나는 형태의 {% csrf_token %}
이 수행
<form method="post" action="{% url classifieds.views.create.checkout ad.pk %}">
{% csrf_token %}
<table>
{{ form }}
<tr>
<th><label>Total:</label></th>
<td><div id="total">Choose options above</div></td>
</tr>
</table>
</form>
I을 또한 나는 또한 내 settings.py에 MIDDLEWARE_CLASSES에서 'django.middleware.csrf.CsrfViewMiddleware',
을 포함했다 from django.template import RequestContext
을 사용하고
양식을 제출하기 위해 누락 된 사항은 무엇입니까?
def checkout(request, adId):
ad = get_object_or_404(Ad, pk=adId)
if request.method == 'POST':
form = CheckoutForm(request.POST)
if form.is_valid():
...
payment.save()
if django_settings.DEBUG:
paypal_form = PayPalPaymentsForm(initial=paypal_values).sandbox()
else:
paypal_form = PayPalPaymentsForm(initial=paypal_values).render()
return render_to_response('classifieds/paypal.html', {'form': paypal_form}, context_instance=RequestContext(request))
else:
form = CheckoutForm()
return render_to_response('classifieds/checkout.html', {'ad': ad, 'form': form}, context_instance=RequestContext(request))
이 당신의 제안을 주셔서 감사합니다 : 같은
기능은 보인다.
를 통해 RequestContext를 사용하기 때문에 당신이 일반적인 견해 나있는 contrib 응용 프로그램을 사용하는 경우, 이미 덮여있다? – DrTyrsa
Chech : 미들웨어/데코레이터 및 다른 것들을 필요로하는 경우 ... https://docs.djangoproject.com/ko/1.4/ref/contrib/csrf/#how-it-works – FallenAngel
예, django.middleware.csrf.CsrfViewMiddleware '내 settings.py의 MIDDLEWARE_CLASSES에서. 내가 누락 될 수있는 다른 것? –