【问题标题】:template django模板 Django
【发布时间】:2010-10-29 06:13:20
【问题描述】:

如何在不同的应用程序中使用不同的模板。在一个项目中我有两个应用程序 1) 网站 2) 广告。我想在广告中使用默认模板,但在网站中使用不同的模板。如何? 在模板中有一种使用“if 条件”的方法,因为我只需要更改模板中的两行。

【问题讨论】:

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


    【解决方案1】:

    首先,您永远不必在不同的应用程序中使用相同的模板。不同的应用可以使用不同的模板,现在的常见做法是将模板目录放在各自的应用文件夹中。

    此外,对于两行的更改,您总是可以使用 `

    {% 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 可用于所有应用程序。

    【讨论】:

    • 我想在不同的应用程序中使用不同的模板。如果在模板中使用不是一个好的解决方案,因为在我的项目中我有大约 10 个应用程序。我准备好了 2 个模板。我只想使用它们模板加载器,但它没有加载
    【解决方案2】:

    使用模板继承http://www.djangobook.com/en/1.0/chapter04/ 定义一个基本模板并仅更改所需的块。

    【讨论】:

      【解决方案3】:

      Pl。检查我提出的问题的链接,Yuji T 提供了答案

      How to use 2 different change_list.html for 2 applications in the same django project

      【讨论】:

        猜你喜欢
        • 2022-01-12
        • 1970-01-01
        • 1970-01-01
        • 2018-10-21
        • 2011-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多