0
#include
似乎沒有工作,我得到一個「500內部服務器錯誤」。我在沒有包含的情況下嘗試了相同的代碼,將所有代碼放在一個文件中,並且它可以工作。我使用的是網絡framwork瓶獵豹#包括不工作
header.tmpl
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>$title</title>
#for $css in $css_sheets
<link rel="stylesheet" href="../$css">
#end for
#for $js in $js_scripts
<script src="../$js"></script>
#end for
</head>
<body>
home.tmpl
#include "header.tmpl"
<p id="x">HELLO</p>
#include "footer.tmpl"
footer.tmpl
</body>
</html>
engine.py
from flask import Flask, redirect, request
from Cheetah.Template import Template
app = Flask(__name__)
css_list = ['css/main.css']
js_list = ['js/main.js']
default_title = 'Default Title'
namespace={
'css_sheets' : css_list,
'js_scripts' : js_list,
'title' : default_title
}
@app.route('/')
def main_route():
return redirect('/index')
@app.route('/index')
def index():
namespace['title']= 'THIS IS THE INDEX'
return render("cheetah/home.tmpl", namespace)
def render(template, context):
"""Helper function to make template rendering less painful."""
return str(Template(file=template, namespaces=[context]))
if __name__ == "__main__":
app.run()
,我有一個次要的問題是關於$ CSS和JS $在header.tmpl變量:
<link rel="stylesheet" href="../$css">
與$ CSS被設置爲 'CSS/main.css的' 作品
<link rel="stylesheet" href="$css">
與$ CSS感設置爲'../css/main.css'失敗,它會將其讀爲純文本'$ css'而不是獲取變量的值。
這是爲什麼?
*「似乎沒有工作」*。請詳細說明。發生了什麼,你期望發生了什麼,如果有任何錯誤消息,請將其全部包括在內。 –
由此我的意思是,當我訪問該頁面時,我得到一個「500內部服務器錯誤」,並且我也嘗試在engine.py的「渲染」方法中打印出解析的模板,但沒有打印出來。 – Lex
您可以編輯您的問題以添加該信息。您的日誌文件中的任何內容可以揭示500錯誤的原因? –