2016-09-14 41 views
0

參考評論道題中的this question答案問,假設我有兩個不同的應用程序,都具有相同的名稱style.css兩個靜態文件:當兩個文件具有相同的名稱時加載哪個靜態文件?

/foo 
     /static 
     /css 
      /style.css 
     /views.py 
     /models.py 
     /urls.py 
    /bar 
     /static 
     /css 
      /style.css 
     /views.py 
     /models.py 
     /urls.py 

manage.py collectstatic所有文件到STATIC_ROOTstyle.css發生了什麼?如何確定要加載的優先級爲style.css?每個應用程序的模板如何知道要加載哪個style.css?

我想我真正要問的是:什麼是在同一個項目中具有相同名稱的靜態文件的django最佳實踐過程?

+0

第一個加載器找到的那個。 –

+0

是的,我知道這可以通過'findstatic'來驗證。我想知道的是管理同名文件的正確過程。 – Escher

回答

0

這是在django的教程文檔。鏈接here。命名空間您的靜態文件。像這樣使用{app_name}/static/{app_name}約定。

/foo 
    /static 
    /foo # add this subdirectory 
     /css 
     /style.css 
    /views.py 
    /models.py 
    /urls.py 
/bar 
    /static 
    /bar # add this subdirectory 
     /css 
     /style.css 
    /views.py 
    /models.py 
    /urls.py 

這樣你可以擁有相同的文件名。您現在可以在{% static %}標記中將這些文件稱爲foo/css/style.css和bar/css/style.css。這些URL將是{STATIC_ROOT} /foo/css/style.css和{STATIC_ROOT} /bar/css/style.css。

相關問題