Django Channels 2.0 和 Daphne:提供静态和媒体文件

Django Channels 2.0 and Daphne: serving static and media files

我搜索了一段时间,但找不到任何关于如何与 Daphne 一起提供静态 用户上传 (/media/) 文件的教程。我读到 Apache 不支持 ASGI,可能可以使用 Nginx,但没有具体说明。

我也试过whitenoise (which only supports static files) and dj-static(只支持WSGI)。出于隐私原因,我不想使用外部 CDN。

您能否提供有关可能设置的任何提示?

在生产中最好让 nginx/apache 提供 static/media 文件。如果您使用的是 nginx,请将其添加到您的配置中。

location /static {
    alias {{ project_root }}/static;
}

location /media {
    alias {{ project_root }}/media;
}

apache 和 nginx 都不支持 ASGI。你必须使用 运行 落后于 nginx/apache 的 daphne 或 uvicorn 来支持 ASGI。我也写了一篇文章on django channels deployment,如果你需要更详细的