裏面我正在開發使用 門戶網站 - 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保留我的回答以供參考,以防萬一您必須使用模板文件而不是靜態文件! –