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

时间:2018-06-20 09:43:10

标签: django django-channels daphne

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

我还尝试了whitenoise(仅支持静态文件)和dj-static(仅支持WSGI)。出于隐私原因,我不想使用外部CDN。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

apache和nginx都不支持ASGI。您必须使用daphne或uvicorn,它们将在nginx / apache之后运行以支持ASGI。如果您需要更多详细信息,我也写了一篇文章on django channels deployment