我遇到“未设置CSRF Cookie”的问题。我需要的是外部计费平台将更新发送到django服务器。它在本地与Postman一起使用,但是在演示服务器中它不起作用...
代码
# views.py
from django.views.decorators.csrf import csrf_exempt
from django.http import JsonResponse
@csrf_exempt
def postback(request):
print(request.POST)
return JsonResponse({'ok': 'hoooh!'})
# urls.py
from django.conf.urls import url
from billing import views
urlpatterns = [
url(r'^postback/$', views.postback),
]
错误
Forbidden (CSRF cookie not set.): /billing/postback/
[21/Jul/2016 10:49:21] "POST /billing/postback/ HTTP/1.1" 403 2682
回发到requestb服务器的结果
https://requestb.in/p0rihap0?inspect#t67d6c
环保
最佳答案
如果您在设置文件中将CSRF_COOKIE_SECURE
设置为True
,则cookie将被标记为“安全”,因此需要HTTPS连接。
这就是为什么您会收到该错误的原因。
有关更多信息,请here。
关于Django:禁止(未设置CSRF cookie。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38529424/