dai*_*no3 9 django django-staticfiles
我的配置如下:
STATIC_URL = '/static/'
MEDIA_URL = '/static/media/'
Run Code Online (Sandbox Code Playgroud)
自从我将 django 2.1 升级到 2.2 后,我得到:
"runserver can't serve media if MEDIA_URL is within STATIC_URL."
django.core.exceptions.ImproperlyConfigured: runserver can't serve media if MEDIA_URL is within STATIC_URL.
Run Code Online (Sandbox Code Playgroud)
我理解错误。我的问题是“为什么不”?您希望媒体作为 static 的子目录有非常充分的理由。
此外,在 2.2 发行说明中零提及此重大更改:https : //docs.djangoproject.com/en/3.0/releases/2.2/
此警告是为了响应此票证#29570:添加检查 MEDIA_URL 不在 STATIC_URL 内。。
还引用#15199:允许 STATIC_ROOT 内的 MEDIA_ROOT
在与 jezdez 进行进一步的 IRC 讨论后,关闭此问题不会修复。支持 STATIC_ROOT 内的 MEDIA_ROOT 配置会引入许多额外的复杂性以及静态文件和 MEDIA_* 设置之间的耦合,这是我们试图避免的,目前尚不清楚它会给我们带来什么有意义的好处。提到的主要好处是在前端 Web 服务器上只需要一个别名:这似乎很小,因为别名只是 nginx conf 文件中的一行。在任何情况下,通过将 MEDIA_ROOT 和 STATIC_ROOT 并排放置在父目录中,并将前端 Web 服务器别名到该父目录,可以获得相同的结果。
所以基本上,你可以:
STATIC_URL = '/static/static/'
MEDIA_URL = '/static/media/'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2684 次 |
最近记录: |