2015-10-13 38 views
4

我看到有兩種方法可以在項目中構建模板。模板可以存儲在藍圖的templates/文件夾中,或者每個藍圖在全局模板文件夾內都有一個文件夾。兩者有什麼區別?爲什麼我應該使用一個呢?模板應該位於藍圖模板文件夾還是全局模板文件夾中?

app/ 
    blueprint1/ 
     __init__.py 
     views.py 
     templates/ 
    blueprint2/ 
     __init__.py 
     views.py 
     templates/ 
    templates/ # Global templates folder 
app/ 
    blueprint1/ 
     __init__.py 
     views.py 
    blueprint2/ 
     __init__.py 
     views.py 
    templates/ # Global templates folder 
     blueprint1/ 
     blueprint2/ 
+1

就我個人而言,我會選擇2,因爲一切都在一個地方。 – karthikr

+0

我使用第一個,特別是當藍圖用於提供完全不同的有力。 –

回答

4

兩者在合劑看到什麼條件等同,其神社裝載機結合的藍圖和全球性的文件夾。藍圖模板被視爲默認源,並且全局源覆蓋這些模板。通常情況下,藍圖模板僅在您編寫其他人將安裝並覆蓋的擴展名時纔有用,如果您只是在內部使用它,則不提供任何內容。請注意,您需要在藍圖和全局文件夾中使用相同的文件夾結構,否則您將看到意外衝突,因爲加載器直接覆蓋文件夾,而不是藍圖名稱。

project/ 
    package/ 
     __init__.py 
     blueprint1/ 
      __init__.py 
      templates/ 
       blueprint1/ 
        page.html # default 
     templates/ 
      blueprint1/ 
       page.html # overrides blueprint