如何使用Django / Twilio响应短信

时间:2013-07-31 22:23:14

标签: python django twilio

我设置了一个“example.com/firstsms”页面,通过Twilio发送短信并重定向到主页。如果我然后使用手机回复我要回复的确认消息。截至目前,没有任何事情发生。

在urls.py中我有:

(r'^hellomonkey/$', 'crusher.views.HelloMonkey'),

在views.py中,我尝试调整他们的Flask example

def HelloMonkey(request):
    """Respond to incoming calls with a simple text message."""

    resp = twilio.twiml.Response()
    resp.sms("Hello, Mobile Monkey") 
    return HttpResponseRedirect(str(resp), content_type="text/plain")

架起我的大脑!感谢

2 个答案:

答案 0 :(得分:3)

您正在返回HttpResponseRedirect,因此它会尝试重定向到某个页面,当然它不起作用。您应该使用HttpResponse代替:

from django.http import HttpResponse

def HelloMonkey(request):
    """Respond to incoming calls with a simple text message."""

    resp = twilio.twiml.Response()
    resp.sms("Hello, Mobile Monkey") 
    return HttpResponse(str(resp))

答案 1 :(得分:1)

来自Twilio的推特传播者,我一直在维护Django-twilio库,并且有一个更简单的解决方案来响应Twilio的短信和语音。

首先,pip install django-twilio and get it set up using the instructions here

然后在您的视图中,您可以使用twilio_view装饰器,如下所示:

from django_twilio.decorators import twilio_view
from twilio.twiml import Response    

@twilio_view
def my_view(request):
    r = Response()
    r.message('Hello, world!')
    return r

Django-twilio将为您处理正确的HTTPResponse内容,并确保请求来自真正的twilio.com源。