2017-07-31 29 views
0

當你啓動一個叫做「myproject」的Django項目時,在這個項目中你會得到一個名爲「myproject」的文件夾。我應該在我的「myproject」文件夾下的模板文件夾中將我的base.html文件(包括指向所有應用程序使用的Bootstrap CDN的鏈接)放在名爲「myproject」的文件夾中嗎?換句話說,我應該將base.html放在myproject/templates/myproject中,然後放在每個應用程序的每個HTML頁面的頂部:在Django中,放置包含所有應用使用的CDN鏈接的base.html的正確位置在哪裏?

{% extends 'myproject/templates/myproject/base.html %}

或者,我可以在每個應用程序中放置一個base.html,並將其擴展爲: {% extends 'myapp/templates/myapp/base.html %}?謝謝。

回答

0

保持你的base.html文件中myapp/templates/base.html

,您可以使用擴展它,

{% extends 'base.html' %} on each HTML template.. 

但確保settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [ 
      os.path.join(BASE_DIR, 'templates') 
     ], 
     ..... 
    } 
] 
你的TEMPLATE_DIRS

Django會自動採取模板目錄路徑...

+0

謝謝。所以這意味着我將在我的項目中的每個應用程序中都有一個base.html文件,對嗎? – henrich

+0

不,你會有base.html在一個位置,但它會引用(將代碼擴展到許多任何你定義的地方)像外部CSS定義一個地方,但我們可以儘可能多地使用它的ID /名稱... –

+0

如果你認爲答案可以幫助你。接受它.. –

相關問題