Django 2.0 ipn回调=>;禁止(未设置CSRF cookie),尽管@CSRF_豁免
我使用Django 2.0,希望在我的url上接受来自远程第三方的IPN 这是我的网址:Django 2.0 ipn回调=>;禁止(未设置CSRF cookie),尽管@CSRF_豁免,django,django-csrf,Django,Django Csrf,我使用Django 2.0,希望在我的url上接受来自远程第三方的IPN 这是我的网址: urlpatterns = [ ... # url for ipn url(r'^ipn/$', views.index, name='ipn'), ... ] 我的看法是: # decorator from django.views.decorators.csrf import csrf_exempt @csrf_exempt def ipn(request): '''
urlpatterns = [
...
# url for ipn
url(r'^ipn/$', views.index, name='ipn'),
...
]
我的看法是:
# decorator
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def ipn(request):
''' process ipn call from merchant'''
ipn = get_data_from_ipn(request)
在my settings.py中:
ALLOWED_HOSTS = ['ipnsender.net']
...
我希望只有ipn视图不使用csrf,但我无法理解为什么我会出现以下错误,尽管文档只告诉您需要@csrf_decorator
我的日志每次都告诉我:
Forbidden (CSRF cookie not set.): /ipn/
[13/Mar/2018 22:36:50] "POST /ipn/ HTTP/1.1" 403 2868
您在
url.py中使用index
而不是ipn
函数来处理/ipn/
url(r'^ipn/$,views.ipn,name='ipn'),
您使用的是索引
,而不是url.py中的ipn
函数来处理/ipn/
url(r'^ipn/$,views.ipn,name='ipn'),
非常感谢,就在我眼皮底下,但找不到它。我想投票,但我还没有足够的因果报应。非常感谢,就在我眼皮底下,但找不到。我想投票,但我还没有足够的因果报应。