2012-03-10 37 views
1

试图获得关于Django如何服务(管理)静态文件的高层次清晰度。为什么改变Django中的STATIC_URL中断ADMIN_MEDIA_PREFIX

当改变在Django的settings.py的STATIC_URL设置到新的位置(我从第三方服务器提供图片)似乎破坏ADMIN_MEDIA_PREFIX,从而停止Admin媒体(CSS,图片, js)从服务。

为什么会发生这种情况?我虽然STATIC_URLADMIN_MEDIA_PREFIX应该属于应用程序的不同部分,不会影响彼此。

回答

1

你使用哪个版本的Django?在Django 1.4之前,STATIC_URL和ADMIN_MEDIA_PREFIX确实是不同的部分。在Django 1.4中,不推荐使用ADMIN_MEDIA_PREFIX,而仅使用STATIC_URL。

你用来提供相应文件的方式也很重要。您可以在管理页面中检查媒体文件的URL:如果它们生成正确但无法加载,则可能是由错误配置的Web服务器而不是Django本身导致的。

+0

谢谢 - 当** STATIC_URL **不是** ADMIN_MEDIA_PREFIX **的子集/派生项时,似乎有一些与collectstatic有关的问题。该应用程序托管在仍然使用Django 1.3.1的Heroku上,因此这应该很快就不再成为问题。 – NSTJ 2012-03-12 06:57:44