如果未设置此变量,则默认asgi.py将其设置为 mysite.settings,其中mysite是项目的名称。
应用ASGI中间件
要应用ASGI中间件,或将Django嵌入另一个ASGI应用程序中,可以将Django的application对象包装在asgi.py文件中。例如:
from some_asgi_library import AmazingMiddleware
application = AmazingMiddleware(application)
在Daphne中使用Django
Daphne是用于UNIX的纯Python ASGI服务器,由Django项目的成员维护。它充当ASGI的参考服务器。
安装Daphne
您可以使用以下命令安装Daphne pip:
python -m pip install daphne
在Daphne中运行Django
安装Daphne后,将daphne提供一个命令来启动Daphne服务器进程。最简单的说,需要使用包含ASGI应用程序对象的模块的位置来调用Daphne,然后是调用该应用程序的位置(用冒号分隔)。
对于典型的Django项目,调用Daphne如下所示:
daphne myproject.asgi:application
这将开始监听一个进程127.0.0.1:8000。它要求您的项目位于Python路径上;确保从与manage.py文件相同的目录中运行此命令。
Django与Uvicorn 的使用
Uvicorn是基于uvloop和的ASGI服务器httptools,着重于速度。
安装Uvicorn
您可以使用以下命令安装Uvicorn pip:
python -m pip install uvicorn
在Uvicorn运行Django
安装Uvicorn后,将uvicorn提供运行ASGI应用程序的命令。必须使用包含ASGI应用程序对象的模块的位置来调用Uvicorn,然后再调用该应用程序(由冒号分隔)。
对于一个典型的Django项目,调用Uvicorn如下所示:
uvicorn myproject.asgi:application
这将开始监听一个进程127.0.0.1:8000。它要求您的项目位于Python路径上;确保从与manage.py文件相同的目录中运行此命令。
有关更多高级用法,请阅读Uvicorn文档。
详情参考: https://docs.djangoproject.com/en/3.0/
标签:Django
相关阅读 >>
更多相关阅读请进入《Django》频道 >>

Python编程 从入门到实践 第2版
python入门书籍,非常畅销,超高好评,python官方公认好书。