django模板系统继承问题

时间:2010-04-17 14:22:20

标签: python django inheritance templates

我的django模板系统存在问题,我有一个base.html文件,其中包含网站所有网页上常见的内容,base.html文件提取一些动态内容,如类别和归档,由python文件传递给它,它从mysql数据库中获取类别和归档数据。

我在其他html文件中继承此base.html文件时的问题,例如index.html:

{%extends“base.html”%}

当我调用ex:http://mywebsite.com/index/

的主索引网址时

索引页面已加载,但应从base.html文件加载的类别和归档数据不会。

我做错了什么,请帮忙。

2 个答案:

答案 0 :(得分:2)

很可能你有一个(或两个)问题:

  1. base.html中的块被index.html中的块覆盖,并且您没有使用{{block.super}}来包含基本模板中的内容。

  2. 调用index.html的视图函数没有创建适当的上下文变量来为模板提供所需的数据。

答案 1 :(得分:0)

由于这是一个老问题,它现在可能已经解决,但我发现Django 1.1存在一个问题,其中模板继承在某些情况下似乎不起作用。

我的应用程序称为“预算”。模板在PROJECTROOT /预算/模板/预算中,我已将模板目录定义为PROJECTROOT /预算/模板。

在模板/预算目录中,我有base.html和index.html。 index.html通过'extends“budget / base.html”'扩展base.html。

当我点击索引网址时,index.html模板会在不继承base.html的情况下呈现。当我将index.html的命名切换到budget_index.html时,一切都按预期工作。

我希望这对某些人有所帮助,因为我现在几个小时都在抨击我。