如何在不同的应用程序中使用不同的模板。在一个项目中,我有两个应用程序1)站点2)广告。我想在广告中使用默认模板但在站点中有所不同。如何? OR 在模板中有一种方法可以使用'if condition',因为我只需要在模板中更改两行。
答案 0 :(得分:2)
首先,您永远不会在不同的应用程序中使用相同的模板。不同的应用程序可以使用不同的模板,因为如今常见的做法是将模板目录放在相应的应用程序文件夹中。
此外,为了改变两行,你可以总是使用`
{% if condition %}
something
{% else %}
some other thing
{% endif %}
或
{% ifequal var 'var' %}
something
{% else %}
some other thing
{% endifequal %}
全部在同一模板中。
修改强>
如果您说要在差异应用程序中使用相同的模板,可以考虑以下事实来应用模板路径, 首先django模板加载器将在同一个app目录中查找模板, 然后在项目的根目录中,如果没有找到,它将查找django自己的模板源。
因此,如果您想在任何地方使用模板,可以将它们放在名为templates的文件夹中,放在应用程序目录所在的同一路径中。 (即项目的根目录)。
projectroot/app1/templates/app1.html
projectroot/app2/templates/app2.html
projectroot/app3/
projectroot/templates/common.html
同样,common.html可供所有应用使用。
答案 1 :(得分:0)
使用模板继承http://www.djangobook.com/en/1.0/chapter04/定义基本模板并仅更改所需的块。
答案 2 :(得分:0)
PL。检查我提出的问题的链接,由Yuji T提供答案
How to use 2 different change_list.html for 2 applications in the same django project