模板django

时间:2009-05-27 12:12:33

标签: django django-models django-admin django-templates

如何在不同的应用程序中使用不同的模板。在一个项目中,我有两个应用程序1)站点2)广告。我想在广告中使用默认模板但在站点中有所不同。如何? OR 在模板中有一种方法可以使用'if condition',因为我只需要在模板中更改两行。

3 个答案:

答案 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