【发布时间】:2010-10-29 06:13:20
【问题描述】:
如何在不同的应用程序中使用不同的模板。在一个项目中我有两个应用程序 1) 网站 2) 广告。我想在广告中使用默认模板,但在网站中使用不同的模板。如何?或 在模板中有一种使用“if 条件”的方法,因为我只需要更改模板中的两行。
【问题讨论】:
标签: django django-models django-admin django-templates
如何在不同的应用程序中使用不同的模板。在一个项目中我有两个应用程序 1) 网站 2) 广告。我想在广告中使用默认模板,但在网站中使用不同的模板。如何?或 在模板中有一种使用“if 条件”的方法,因为我只需要更改模板中的两行。
【问题讨论】:
标签: django django-models django-admin django-templates
首先,您永远不必在不同的应用程序中使用相同的模板。不同的应用可以使用不同的模板,现在的常见做法是将模板目录放在各自的应用文件夹中。
此外,对于两行的更改,您总是可以使用 `
{% if condition %}
something
{% else %}
some other thing
{% endif %}
或
{% ifequal var 'var' %}
something
{% else %}
some other thing
{% endifequal %}
全部在同一个模板中。
编辑
如果你说你想在不同的应用程序中使用相同的模板,你可以应用模板的路径,考虑到以下事实, 首先 django 模板加载器会在同一个应用目录中寻找模板, 然后在项目的根目录下,如果没有找到,它会寻找django自己的模板源。
所以如果你想在任何地方使用模板,你可以将它们放在一个名为模板的文件夹中,放置在你的应用程序目录所在的相同路径中。 (即项目的根目录)。
projectroot/app1/templates/app1.html
projectroot/app2/templates/app2.html
projectroot/app3/
projectroot/templates/common.html
同样,common.html 可用于所有应用程序。
【讨论】:
使用模板继承http://www.djangobook.com/en/1.0/chapter04/ 定义一个基本模板并仅更改所需的块。
【讨论】:
Pl。检查我提出的问题的链接,Yuji T 提供了答案
How to use 2 different change_list.html for 2 applications in the same django project
【讨论】: