您好,我是python世界的初学者,因此我仍在尝试了解使用ASGI时的注意事项。我阅读了一些教程和文档,并在youtube上观看了一些视频。但是,我在某些方面不确定。
我有一个使用Django + Django Rest Framework的小型后端应用程序。
我的代码非常简单,由框架中最常见的概念组成:视图,序列化器,模型,URL等。此外,我使用关系数据库。
我的环境是这样:
- Python 3.8
- Django 3
- Django Rest Framework 3.11
现在,我需要添加对WebSockets的支持,并且完成了Django Channels教程中所述的基本配置:
- 我安装了Django Channels 2.4.0(Daphene 2.5.0)
- 已将“渠道”添加到INSTALLED_APPS
- 我用一个空的ProtocolTypeRouter创建了一个routing.py文件
- 我将ASGI_APPLICATION添加到了我的settings.py
- 我将asgi.py文件配置为使用频道
- 目前,我尚未配置任何渠道层
- 目前,我还没有创建任何WebSocket端点
完成这些配置后,运行服务器将使用ASGI开发服务器,并且显然我的REST端点都可以正常工作。
一些问题:
-
考虑到我所有的代码都是同步的,是否有必要对其进行任何调整?
-
上面的配置已经考虑到我的同步代码是ASGI服务器,因此已经可以在daphene中安全地执行我的同步代码了吗?
-
我可以仅使用ASGI可靠且稳定的方式处理正常的HTTP和WebSockets请求吗?还是建议使用WSGI服务HTTP流量,而只将WebSockets流量留给daphene?
-
在什么地方应该特别注意同步代码?