How to use Django with Uvicorn
Uvicorn is an ASGI server based on uvloop
and httptools
, with an emphasis on speed.
Installing Uvicorn
You can install Uvicorn with pip
:
python -m pip install uvicorn gunicorn
Running Django in Uvicorn
When Uvicorn is installed, a uvicorn
command is available which runs ASGI applications. Uvicorn needs to be called with the location of a module containing an ASGI application object, followed by what the application is called (separated by a colon).
For a typical Django project, invoking Uvicorn would look like:
gunicorn myproject.asgi:application -k uvicorn.workers.UvicornWorker
This will start one process listening on 127.0.0.1:8000
. It requires that your project be on the Python path; to ensure that run this command from the same directory as your manage.py
file.
For more advanced usage, please read the Uvicorn documentation.