好吧,可能是菜鸟问题:在学习 Django 时,我认为使用 Twilio 探索电话技术可能会很酷。我的近期目标是创建一个带有按钮的页面,单击该按钮后,会将“Hello World”短信发送到我的手机。整理之后,我对更酷的东西有了一些想法。
到目前为止,我已经完成了几个 Django 教程,并制作了一些带有简单 View 的小应用程序。但我所学到的一切都没有特别阐明如何做这样的事情。我还研究了(并安装了)Django-Twilio 应用程序和 Twilio Python Helper Library,但是这两个文档都没有显示如何发送“hello world”短信。
任何人都可以指出可能显示如何执行此操作的资源吗?或者,如果这很简单,只需发布一些示例代码即可?
编辑回应凯文·伯克:
感谢您回复我,凯文。 修改我的 urls.py 以包括:
urlpatterns = patterns('',
# ...
url(r'^sms/$', 'django_twilio.views.sms', {
'message': 'Hello world',
'to': '+12223334444',
'sender': '+18882223333',
'status_callback': '/sms/completed/',
}, name = 'send_message'),
# ...
)
并将我的浏览器指向
http://127.0.0.1:8000/sms/
出现以下错误:
Exception Type: TwimlException at /sms/
Exception Value: Invalid method parameter, must be 'GET' or 'POST'
也许这是因为我未能对 View 进行适当的修改。但我没有一个好的方法来从教程中的最小示例中找出我做错了什么。 /编辑
最佳答案
这里是 twilio 员工。
这里的问题是 django_twilio
的内置 View 运行一系列验证检查,以确保它们接收来自 twilio.com 并且仅来自 twilio.com 的内容。这是 django-twilio
中内置的安全措施。
您可以做两件事:
确保 Django 设置中的
settings.DEBUG = True
,这将关闭验证。然后,您可以在本地计算机上发送cURL
请求,同时它在终端中运行,如下所示:$ curl http://localhost:8000/sms/
这应该返回一些 TWiML像这样:
<Response><Sms>Hello world</Sms></Response>
当您在线运行此程序并且想要对其进行测试时,请设置您的 twilio number指向
http://mywebsite.com/sms/
并发送短信号码。确保settings.DEBUG = False
,您应该会收到一条消息。
如果您还有任何问题,请告诉我。
关于python - Django-Twilio 在按钮单击时发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907608/