在Django中启用模板继承

0 投票
1 回答
597 浏览
提问于 2025-04-17 05:55

我正在使用 Python 2.7.1 和 Django 1.3,刚开始接触 Django 模板,想要尝试很简单的模板继承。

testbase.html

hello

{% block tester %}
fail
{% endblock %}

testblock.html

{% extends "testbase.html" %}

{% block tester %}
pass
{% endblock %}

结果

hello fail

这两个模板在同一个文件夹里,而这个文件夹已经添加到项目的 settings.py 文件中。因为能找到基础模板,所以我不明白为什么找不到子模板。

谢谢大家提供的任何建议,我该接下来尝试什么。

1 个回答

2

在你的视图中,你需要确保你指向的模板是 testblock.html 而不是 testbase.html

假设你使用的是 render_to_response,它的写法大概是这样的:

return render_to_response('testblock.html')

如果你的视图函数引用的是 testbase.html,那么你就会得到一个没有扩展的模板。这是设计使然。

这里有一个链接,指向 模板文档,供你参考。:)

撰写回答