我可以爲我的項目創建一個基礎模板,所有應用程序都可以從中繪製基礎模板嗎?或者我必須爲每個應用程序創建一個基本模板?如果我想讓它們保持一致,我只需要複製它們?Django項目基地模板
26
A
回答
50
當然可以。一個base.html文件
<!DOCTYPE html>
<html>
<head>
<title>My Project</title>
</head>
<body>
{% block content %}{% endblock content %}
</body>
</html>
,說你有一個名爲MYAPP與view.html頁的應用程序,
{% extends "base.html" %}
{% block content %}
<h2>Content for My App</h2>
<p>Stuff etc etc.</p>
{% endblock content %}
的一個簡單的例子花一些時間來read the docs瞭解更多信息
4
是你絕對可以做到這一點。在Django模板中使用extends
和include
模板標籤。
我開始學習Django並且最近弄清楚了這一點。我的代碼是在Github如果你有興趣考慮看看我是如何構建Django模板從base.html
然後include
共同繼承的東西,如導航欄和頁眉,頁腳等
4
有一些問題,在最後答案,這裏是正確的; 您必須base.html文件是這樣的:
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<title>My Project</title>
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>
,也爲的index.html
{% extend "appname/base.html" %}
{% block content %}
<h1>test</h1>
{% endblock %}
+0
輕微的錯字 - 應該是{%extends「appname/base.html」%}而不是{%extend「appname /base.html「%} – niceguydave
相關問題
- 1. 列表項目模板Django
- 2. Django模板不顯示模型項目
- 3. django模板擴展基地,但基地有變量顯示
- 4. Django模板:Threes中的組項目
- 5. 的項目數創建行Django模板
- 6. django模板:訪問項目根路徑
- 7. django模板得到dictonary項目
- 8. Django項目模板加載器設置
- 9. 從項目根Django擴展模板
- 10. 如果把角NG-模板Django項目
- 11. T4模板基於當前項目
- 12. Django 1.6:通過應用程序模板擴展項目模板
- 13. django模板的本地化
- 14. Django本地化模板
- 15. iPhone項目模板
- 16. WebStorm項目模板
- 17. VS2015項目模板
- 18. gridview項目模板
- 19. Java項目模板
- 20. TeamCity項目模板
- 21. django模板選擇選項
- 22. Django模板目錄切換
- 23. 默認的django項目沒有顯示django模板
- 24. Django-mptt從Django模板篩選子項
- 25. Visual Studio 2013:特定項目模板的項目模板
- 26. UWP ListView項目模板重用以前的項目模板
- 27. 選擇Netbeans項目模板或者maven的項目模板
- 28. Django的模板在主項目目錄錯誤未找到
- 29. 如何讓Django在項目根目錄中搜索模板?
- 30. T4模板和Visual Studio項目模板
重要的一點,很多人懷念的是'{%延伸XXX% }'可以接受一個字符串文字文件名(即「base.html」)*或*一個解析爲文件名的變量。我們在開發過程中使用它,並且實時更改'{%extends base_template%}'的值。所有主要模板(列表,細節,平面文件等)都使用非常通用的/語義標記,以及所有CSS /等等。在每個主題的基礎文件中定義。例如。 'themes/blue.html'或'themes/neon.html'。 –
這對我來說不是很清楚*這些文件必須放在哪裏。我希望我的基本模板位於PROJECT_ROOT/templates/base.html中,因此它適用於所有應用程序。但是現在我怎麼才能引用它,因爲'extend'語句在PROJECT_ROOT/app-name/templates/...中尋找模板? – jlh
@jlh:當我將模板放入PROJECT_ROOT/project-name/templates/base.html時,它對我有用 – Andreas