我正在使用开发门户网站 - Django 1.2 - 阿帕奇 - Mod WSGI
我有几个由apache提供的HTML文件。
我想在我的基本模板下呈现这些静态HTML页面,以保持页眉/页脚和动态菜单的完整。
我认为使用iframe的一种方式。另一种方法是在渲染时读取HTML文件并返回字符串,但在这种情况下我失去了apache的优势,所以我想知道是否有更好的方法,是否有任何现有的解决方案由django提供?
答案 0 :(得分:6)
我不确定这是否正是您所要求的,但您可以在包含ssi
和include
标签的模板中插入html文件(甚至是其他模板),根据您的需要:
{% ssi '/path/to/file.html' %}
{% include 'relative/path/to/template.html' %}
答案 1 :(得分:1)
加载模板并使用当前上下文呈现它。这是一种在模板中“包含”其他模板的方法。
就像
一样简单{% include "templates/static_template_1.html" %}
或者,如果在视图侧创建变量:
{% include template_name_variable %}
它与基本模板(包括它们的模板)共享上下文
答案 2 :(得分:1)
修改强>
也许你想在模板系统之外加载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 %}
您可以在这里阅读更多内容: