我的配置如下:
STATIC_URL = '/static/'
MEDIA_URL = '/static/media/'
自从我将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.
我了解错误。我的问题是“为什么不”?您有非常正当的理由想要将媒体作为静态子目录。
此外,在2.2版发行说明中,对这一重大更改的提及为零:https://docs.djangoproject.com/en/3.0/releases/2.2/
答案 0 :(得分:0)
已针对此故障单#29570: Add check that MEDIA_URL is not inside STATIC_URL.发出了此警告。
也引用#15199: Allow MEDIA_ROOT inside STATIC_ROOT
在与jezdez进行进一步IRC讨论之后,关闭了该问题。支持在STATIC_ROOT中使用MEDIA_ROOT进行配置会导致静态文件与MEDIA_ *设置之间的许多其他复杂性和耦合,我们正在努力避免这种情况,而且尚不清楚它能为我们带来什么有意义的好处。提到的主要好处是在前端Web服务器上只需要一个别名:这似乎很小,因为别名例如nginx conf文件中只有一行。在任何情况下,都可以通过将MEDIA_ROOT和STATIC_ROOT并排放置在父目录中,并将前端Web服务器别名到该父目录来实现相同的结果。
所以基本上,您可以:
"/_cat/indices/organization"