使用nexmo的api为django开发人员提供的实用程序

dj-nexmo的Python项目详细描述


DJ下一个

PyPI versionBuild StatusCoverage Status

Nexmo APIawesome-但是使用nexmo的开发人员需要一次又一次地解决一些问题。 这个django应用程序在Nexmo Client Library for Python之上提供了django特定的功能!当前包含:

  • 用于验证和重新组合sms消息部分的修饰程序。
  • 用于以国际和国内格式呈现电话号码的模板筛选器。

如何安装

目前,dj-nexmo只支持python 3.4+,django 2.0+。我们maybackport到django 1.x,但是我们不打算backport到python 2。

首先,pip install dj-nexmo

在您的设置中将"djnexmo"添加到INSTALLED_APPS

运行python manage.py migrate djnexmo创建必要的模型。

配置

NEXMO_API_KEY

此可选设置应设置为nexmo api密钥,您可以从仪表板获取该密钥。

NEXMO_API_SECRET

此可选设置应设置为nexmo api secret,您可以从仪表板获取该设置。

NEXMO_SIGNATURE_SECRET

此可选设置应设置为您的nexmo签名密钥,您可以通过联系nexmo支持人员获得该密钥。 如果要验证传入的短信,则需要此设置。

NEXMO_SIGNATURE_METHOD

此可选设置应设置为nexmo签名方法,当您 获取您的nexmo签名机密。

NEXMO_APPLICATION_ID

此可选设置应设置为nexmo语音应用程序的ID。

NEXMO_PRIVATE_KEY

此可选设置应设置为nexmo语音应用程序的私钥,或包含 你的私钥。

使用nexmo客户端

dj-nexmo根据上述设置配置nexmoClient对象。你可以 通过从djnexmo包导入来使用它:

fromdjnexmoimportclientclient.send_sms({'to':'447700900301','from':'447700900414','text':'Hello from DJ Nexmo!'})

收到短信

dj-nexmo提供了一个视图装饰器,它将确保只有在sms的所有部分 可用。

# This will automatically check the signature of the incoming request.# The view will only be called once all parts of the SMS have arrived.@sms_webhookdefsms_registration(request):# Your parsed & merged SMS message will be available as `request.sms`:sms=request.sms# Don't do any long processing here - you should return a 200 response as soon as possible....returnHttpResponse("OK")

格式化电话号码

dj-nexmo添加了几个用于格式化电话号码的模板过滤器,包装了 phonenumbers库。

{% load phonenumbers %}

International: {{ "447700900486" | international }} => +44 7700 900486
Local Format: {{ "447700900486" | national }}       => 07700 900486

即将推出:

  • 一种管理命令,用于清除数据库中未接收到所有部分的旧消息部分。
  • 用于验证来自nexmo api的其他webhook的decorator。

许可证

这段代码是开源的,在apache许可下发布。这意味着它可以免费使用 出于商业或非商业目的,您可以进行任何您想要或需要的更改。

贡献!

我们:心:贡献——如果你想帮助贡献这个项目,请联系我们! 如果你想做什么特别重要的事情,我们建议你提出一个问题 先和我们讨论一下。如果你有什么想看的,请提出一个问题 我也是!如果你发现一个bug,请创建一个问题-任何你能提供的帮助提供一个小的代码示例 证明你所看到的问题是非常有用的,意味着我们应该能够解决 你的问题快点解决!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用java创建灰度图像   java Android VideoView在长时间运行(超过24小时)后冻结   javaxml到XSL格式   servlets如何在Java中获取POST变量值   java给加入indtantly jda的用户jda一个角色的最佳方式是什么   java在读取带有列表的文件时获取所有空值   java在无管理员权限的NetBeans中使用JavaFX场景生成器2.0   java如何通过JSON API实现复杂的条件批量部分更新?   java使用ApacheLucene索引大文件时,如何避免内存不足错误?   使用协议“mapi://”从java对outlook中打开的邮件进行编码   java trywithresources详细信息   java在对JTable进行排序后无法从中获取正确的行(Swing)   单元测试如何在测试类(java)中的main中存根函数   oauth 0auth_签名在java中使用SHA1RSA   java重写equals和hashCode只是为了调用super。等于/哈希代码还是抛出断言错误?