ios - 在创建移动应用程序时使用 django-channels 和 django-rest-framework
问题描述
我已经有一个用 Django 编写的项目,并且可以很好地使用 django rest 框架。这个项目实际上是基于 django-oscar 并且我实现了一些其他的特性。我现在正在使用这个应用程序的移动版本,我需要像 Sockets 这样的实时服务器更新,我知道 djnago 频道。我现在的问题是,是否可以将 django-rest 框架与 django-channels 链接起来,因为例如,如果用户在移动应用程序上进行购买,可用产品的数量应该实时减少,或者如果用户添加了产品到购物车用户应该能够立即通过通知徽章获得更多的商品,我觉得这可以通过 django 渠道来实现。那么如何将其余 API 与 django 频道相关联
解决方案
URLRouter([
url(r"^longpoll/$", LongPollConsumer),
url(r"^notifications/(?P<stream>\w+)/$", LongPollConsumer),
url(r"", AsgiHandler),
])
如果未提供 http 参数,它将默认为 Django 视图系统的 ASGI 接口 channels.http.AsgiHandler,这意味着对于大多数不进行自定义长轮询 HTTP 处理的项目,您可以简单地不指定 http选项并让它以“正常”的 Django 方式工作。
如果您想在长轮询处理程序和 Django 视图之间拆分 HTTP 处理,请使用 URLRouter 并将 channels.http.AsgiHandler 指定为具有 match-everything 模式的最后一个条目。
以上内容来自 https://channels.readthedocs.io/en/latest/topics/routing.html#protocoltyperouter
推荐阅读
- apostrophe-cms - 了解撇号中的游标、过滤器和连接
- python - 如何在 Ubuntu 18.04 上安装 wxPython 2.8?
- ionic3 - 为什么 Ionic3 -Splash Screen 生成错误?
- javascript - 在 onclick JavaScript 函数中传递多个参数
- google-bigquery - Big Query 不接受 EMOJI
- sql - select rows based on equal columns values
- wordpress - wordpress 中的分类无效
- linux - 带有文件路径参数的 Windows 10 Bash 和 Google Chrome
- popup - 在kivy中输入文本时如何使用建议或弹出建议?
- go - 配置 aws-sdk-go 与 localstack 的 SQS 交互