django应用程序使用amazon sns向ios和android设备发送推送通知。

django-sloop的Python项目详细描述


Sloop

django sloop是迄今为止最快、最可靠的restful推送通知服务。这个包包含一些工具,可以简化在django项目中实现sloop。

Django单桅帆船

安装

  1. 通过github或pip安装软件包(pip install django sloop)

  2. django_sloop添加到设置文件中的已安装应用程序列表。

  3. 扩展django_sloop.models.abstractsnsdevice类并创建自己的push token设备模型。

# models.pyfromdjango_sloop.modelsimportAbstractSNSDeviceclassDevice(AbstractSNSDevice):pass# (Optional) if you need to override Meta.classMeta(AbstractSNSDevice.Meta):pass
  1. 确保您在设置文件中填写了必要的信息:
# settings.pyDJANGO_SLOOP_SETTINGS={"AWS_REGION_NAME":"","AWS_ACCESS_KEY_ID":"","AWS_SECRET_ACCESS_KEY":"","SNS_IOS_APPLICATION_ARN":"test_ios_arn","SNS_IOS_SANDBOX_ENABLED":False,"SNS_ANDROID_APPLICATION_ARN":"test_android_arn","DEFAULT_SOUND":"","DEVICE_MODEL":"module_name.Device",}

在项目的生命周期内(即,一旦您创建并迁移了依赖于它的模型),如果不认真努力,就无法更改设备的模型设置。它所引用的模型必须在 它所在的应用程序。

  1. 为新创建的设备模型创建迁移并迁移。

注意:django_sloop的迁移必须在创建设备后运行。如果在运行迁移时遇到问题,请在创建设备的迁移文件中添加以下内容。

run_before = [
   ('django_sloop', '0001_initial'),
]
  1. 将DjangoSys.Multh.Studio NotoFixIsCurnMin添加到用户模型中。
classUser(PushNotificationMixin,...):passuser.send_push_notification_async(message="Sample push notification.")
  1. 将DjangoSysLoop.admin .sLoadAdmin混入到您的UpDestmin中,以便能够从Django管理面板向用户发送推送消息。
# admin.pyfromdjango_sloop.adminimportSloopAdminMixinfromdjango.contribimportadminclassUserAdmin(SloopAdminMixin,admin.ModelAdmin):actions=("send_push_notification",)
  1. 添加django rest framework url以创建和删除设备。
# urls.pyfromdjango.conf.urlsimporturlfromdjango.urlsimportincludeurlpatterns=[# ...url(r'^api/devices/',include('django_sloop.urls')),# ...]

完成!

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

推荐PyPI第三方库


热门话题
java附加两个数组   java如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试