django频道vs达芬妮

问题描述 投票:1回答:1

我对Django频道和uvicorn服务器的主要角色感到有些困惑。我读了很多博客,但没有得到太多澄清。

[如果我们可以使用渠道为websocket实现ASGI服务器,那么为什么我们需要像daphene或uvicorn一样分别需要asgi服务器?

django django-channels daphne asgi uvicorn
1个回答
0
投票

Daphne是ASGI server,而Django Channels是Django的ASGI Framework。链接已从www.uvicorn.org中获取。

下面也提到了另一个blog的引用:

创建通道以支持Websockets和长轮询HTTP等异步协议。 Django应用程序仍然可以同步运行。 Channels是官方的Django项目,但不是核心Django的一部分。

Django Async项目将支持使用异步代码以及同步代码来编写Django应用程序。异步是Django核心的一部分。

均由安德鲁·古德温(Andrew Goodwin)领导。

在大多数情况下,这些都是独立的项目。您可以有一个使用这两个或其中之一的项目。例如,如果您需要通过Web套接字支持聊天应用程序,则可以使用Channels而不使用Django的ASGI界面。另一方面,如果您想在Django视图中创建异步函数,则必须等待Django对视图的异步支持。

© www.soinside.com 2019 - 2024. All rights reserved.