python - Django-Twilio 在按钮单击时发送短信

标签 python django twilio

好吧,可能是菜鸟问题:在学习 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 中内置的安全措施。

您可以做两件事:

  1. 确保 Django 设置中的 settings.DEBUG = True,这将关闭验证。然后,您可以在本地计算机上发送 cURL 请求,同时它在终端中运行,如下所示:

    $ curl http://localhost:8000/sms/
    

    这应该返回一些 TWiML像这样:

    <Response><Sms>Hello world</Sms></Response>
    
  2. 当您在线运行此程序并且想要对其进行测试时,请设置您的 twilio number指向 http://mywebsite.com/sms/ 并发送短信号码。确保settings.DEBUG = False,您应该会收到一条消息。

如果您还有任何问题,请告诉我。

关于python - Django-Twilio 在按钮单击时发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907608/

相关文章:

javascript - trim Bootstrap 表单元格中的文本

node.js - Twiml POST 请求上的参数为空

python - 在每次迭代中更新字典内的列表

django - Angular NgRessource 具有来自 django Rest 框架的分页结果

python - django-rest-framework + swagger ui : ImportError: No module named rest_framework_swagger

python - 使用 Python,如何获取 Twilio 日志并将其打印为 html?

php - 我们可以使用 PHP 使用 Twilio API 检索调用者位置信息吗?

python - 在 Python 中启动带有 Restful 服务的 Spark-Submit

python - 如何在 aws EC2 实例(ubuntu)上运行 python 脚本?

python - 根据值拆分 pandas 数据框