里面我正在开发使用 门户网站 - Django的1.2 - 阿帕奇 - 国防部WSGI渲染静态的html页面我的基地Django的模板
我有哪些正在由阿帕奇担任多个HTML文件。
我想在我的基本模板下呈现这些静态HTML页面,以保持我的页眉/页脚和动态菜单不变。
我可以想到它使用iframe的一种方式。另一种方法是在呈现时读取HTML文件并返回字符串,但在这种情况下,我放弃了apache的优势,所以我想知道是否有更好的方法可以做到这一点,django提供的任何现有解决方案?
里面我正在开发使用 门户网站 - Django的1.2 - 阿帕奇 - 国防部WSGI渲染静态的html页面我的基地Django的模板
我有哪些正在由阿帕奇担任多个HTML文件。
我想在我的基本模板下呈现这些静态HTML页面,以保持我的页眉/页脚和动态菜单不变。
我可以想到它使用iframe的一种方式。另一种方法是在呈现时读取HTML文件并返回字符串,但在这种情况下,我放弃了apache的优势,所以我想知道是否有更好的方法可以做到这一点,django提供的任何现有解决方案?
是的,这是include tag
加载一个模板,并用当前上下文渲染它。这是在模板中“包含”其他模板的一种方式。
它的那样简单
{% include "templates/static_template_1.html" %}
,或者,如果您在视图中创建侧的变量:
{% include template_name_variable %}
这股与基本模板的上下文(一个包括它们)
编辑:
也许你需要在模板系统之外加载html文件。那么我的方式是不够的。
一个选项是扩展您的基本模板。
您的基本模板不应该知道子模板,因为这将是逻辑错误。
例子:
base_template.html:
<html>
<div id='header'></div>
{% block content %}
This text can be left out else it it will shown when nothing is loaded here
{% endblock %}
sub_template.html:
{% extends "base_template.html" %}
{% block content %}
<h1>This is my subpage</h1>
{% endblock %}
你可以在这里阅读更多:
{%include%}旨在插入其他模板。 shahjapan想要插入静态文件。 {%ssi%}更好,因为它在插入文件之前不解析文件。 –
哎呦。我读了“html模板”,可能是因为自从我上次使用100%静态文件以来已经有一段时间了。是的,ssi更好! @shahjapan保留我的回答以供参考,以防万一您必须使用模板文件而不是静态文件! –