随时了解情况

dj-whisperer的Python项目详细描述


琼戈语者

Build statusDocumentation statusPyPIPyPI - Django versionPyPI - Python versionPyPI - License

当发生特定事件时,Whisper会通过URL通知订阅的用户。在

安装

使用pip安装:

pip install dj-whisperer

必须将whisperer包添加到INSTALLED_APPS,并且必须运行migrate命令。在

^{pr2}$

示例方案

让我们举一个使用Package模型的例子。当发生与包相关的事件时,将通知订阅的用户。为此,首先必须确定订阅哪些事件。为了了解何时创建包:

fromdjango.db.models.signalsimportpost_savefromwhisperer.eventsimportWhispererEvent,registryfromwhisperer.tasksimportdeliver_eventclassPackageCreateEvent(WhispererEvent):serializer_class=PackageSerializerevent_type='package-created'registry.register(PackageCreateEvent)defsignal_receiver(instance,created=False,**kwargs):ifcreated:deliver_event(instance,'package-created')post_save.connect(signal_receiver,Package)

当数据库事务成功时,简而言之,当transaction.on_commit()时,deliver_event必须被触发。 订阅的用户现在可以被告知,如果他们创建了Webhook,则会创建一个包。在

importrequestsrequests.post(url='https://your-app.com/whisperer/hooks/',headers={'Authorization':'Token <secret-login-token>',},json={'event_type':'package-created','secret_key':'secret','target_url':'https://example.com/',})

创建包时,uuidtype&;data通过PackageSerializer将被发布到https://example.com/。在

importrequestsrequests.post(url='https://example.com/',headers={'Content-Type':'application/json','X-Whisperer-Event':'package-created',},json={'event':{'type':'package-created','uuid':'da81e85139824c6187dd1e58a7d3f971',},'data':{'id':61,'transfer_id':49,'order_number':'248398923123','.....':'......',}})

要取消订阅:

importrequestsrequests.delete(url='https://your-app.com/whisperer/hooks/<webhook-id>/',headers={'Authorization':'Token <secret-login-token>',})

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

推荐PyPI第三方库


热门话题
尝试连接到Red5服务器时出现java问题   java实现Runnable的类被认为是ExecutorServices的“Runnable任务”?   java struts2类中的多个@validation   java未能应用插件[class'org.gradle.api.plugins.scala.ScalaBasePlugin']:gradle v2。13   如何使用Java流仅收集长度最大的元素?   从spring引导应用程序连接到firestore的java引发空指针异常   java从SQLite插入和获取真实数据类型会为连续插入获取空值吗?   当存在未知数量的空格时,使用java替代正向查找   部署如何为当今的浏览器部署java小程序(小程序、嵌入、对象)?   @OneToMany和@ManyToOne@Formula之间的java双向关系返回null   java为什么在我的例子中,协议缓冲区的性能比JSON差?   如何部署混合C++/Java(JNI)应用程序?   java如何在程序中显示字符串的完整信息。反恐精英?   java在Hibernate中从持久性上下文中分离实体中的实体