2017-07-20 63 views
0

我正在写一个简单的视图,它需要Twilio SMS请求并返回一个简单的SMS,基于此tutorialCSRF标签仍然拒绝Twilio请求

出于某种原因,请求仍然会遭遇403禁止:

Forbidden (CSRF cookie not set.): /haul/response 
[20/Jul/2017 17:39:42] "POST /haul/response HTTP/1.1" 403 2857` 

我的看法如下:

from django.http import HttpResponse 
from twilio.rest import Client 
from django.views.decorators.csrf import csrf_exempt 

@csrf_exempt 
def response(request): 
    twiml = '<Response><Message>Test</Message></Response>' 
    return HttpResponse(twiml, content_type='text/xml') 

我知道这是不是一个服务器的问题,因为我遇到相同结果在我的生产服务器和本地计算机上。最奇怪的部分是,有一次,我有这个工作。这几乎就好像@csrf_exempt修饰器不工作。

+0

愚蠢的问题,但你做了更改后重新启动服务器? – philnash

+0

@philnash通过重启服务器你是指Django主机(manage.py runserver)还是实际的_server_?它位于数字海洋液滴上。我可以试试。 –

+0

@philnash没有运气重新启动服务器。 –

回答

0

我其实刚刚解决了这个问题。对于任何感兴趣的人,问题是我的urls.py指向错误的端点,因此请求被拒绝。在一些测试过程中,我改变了这一点,并忘记将其改回。花费我几个小时。魔鬼的细节!