我已经搜索了一段时间,但找不到任何关于如何与 Daphne 一起提供静态和用户上传的 (/media/) 文件的教程。我读过 Apache 不支持 ASGI,可能可以使用 Nginx,但没有具体说明。
我还尝试过whitenoise(仅支持静态文件)和dj-static(仅支持 WSGI)。出于隐私原因,我不想使用外部 CDN。
您能否提供有关可能设置的任何提示?
我已经搜索了一段时间,但找不到任何关于如何与 Daphne 一起提供静态和用户上传的 (/media/) 文件的教程。我读过 Apache 不支持 ASGI,可能可以使用 Nginx,但没有具体说明。
我还尝试过whitenoise(仅支持静态文件)和dj-static(仅支持 WSGI)。出于隐私原因,我不想使用外部 CDN。
您能否提供有关可能设置的任何提示?
在生产中,最好让 nginx/apache 提供静态/媒体文件。如果您使用的是 nginx,请将其添加到您的配置中。
location /static {
alias {{ project_root }}/static;
}
location /media {
alias {{ project_root }}/media;
}
apache 和 nginx 都不支持 ASGI。您必须使用 daphne 或 uvicorn 将在 nginx/apache 后面运行以支持 ASGI。如果您需要更多详细信息,我还写了一篇 关于 django 频道部署的文章。