Django覆盖iframe中模板中的块

时间:2012-06-03 10:35:40

标签: django templates iframe block

我的模板结构如下:

<html>
<head><title> {%block title %} Default title {% endblock %} </title> </head>
<body>
<iframe>
<head> <title> {% block title %} Title for frame {% endblock %} </title> </head>
<body> Main content. This is what people see on the web page. </body>
</iframe>
<!-- Content that I do not want to reload every time. A player, to be precise. -->
</body>
</html>

在iframe中,我继承了模板等,以显示我的最终页面。 iframe中的标题栏被正确替换,iframe的标题应该是它应该是。

但是,当我在iframe中加载页面时,我想替换父框架的标题。是否有可能做到这一点?我不想通过Javascript来做,因为这会破坏SEO的目的。我希望在从服务器端加载页面时更改标题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您有两个名为title的块。重命名其中一个,一切都应该正常。如果您正在使用iframe或任何其他元素,则Django模板构造完全不受影响。

编辑: 当iframe获取新位置时,它会向服务器发送请求,并在<{em> iframe内呈现其响应的所有。因此,不可能利用Django的模板系统来改变iframe的父站点。

我不是SEO专家但是使用这样的iframe可能不会被搜索引擎所喜欢。您应该实现传统的click-pageload方式。如果你想加快速度,可以使用JavaScript。捕获菜单单击并异步加载站点所需的部分。这样你和你的搜索引擎都会很高兴:)