2012-03-10 39 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