Django 1.9:使用 Stripe 时 CSRF 令牌丢失或不正确

Django 1.9: CSRF token missing or incorrect using Stripe

这可能是重复的,但我尝试使用其他答案中的 RequestContext,但它对我不起作用

checkout_test.html:

<form action="" method="POST"> {% csrf_token %}
    <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
        data-key="pk_test_37uDrOYvvyyJSLoV0ziJcYyl"
        data-amount="2000"
        data-name="Demo Site"
        data-description="2 widgets (.00)"
        data-image="/128x128.png"
        data-locale="auto">
    </script>
</form>

views.py

def user_review_list(request, username=None, errmsg=None):
    return render(request, 'checkout_test.html', {})

所以在user_review_list.html中,有一个stripe提供的按钮 当我填写信息并单击按钮时,它会引发错误:

CSRF token missing or incorrect.

我该如何解决这个问题?

我已经尝试用 RequestContextrender 更改为 render_to_response,但是没有用

您不能将您的 CSRF cookie 传递给 Stripe 并返回。一种解决方法是使用 @csrf_exempt 装饰器:

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def user_review_list(request, username=None, errmsg=None):
    ...