0
我正在通過Flask框架實現一個Web應用程序。這個網絡應用程序即將服務器靜態HTML頁面,其結構是像Java文檔。Flask提供靜態html頁面
代碼:
從燒瓶進口燒瓶中,send_from_directory,url_for
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
@app.route("/report")
def view_report():
url_for('static', filename='report/flexmonkey/html/')
return send_from_directory('static', 'report/flexmonkey/html/index.html')
if __name__ == "__main__":
app.run(debug=True)
中的index.html:
<html xmlns:lxslt="http://xml.apache.org/xslt" xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils">
<head>
<META http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Unit Test Results.</title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">
<frame src="overview-frame.html" name="packageListFrame">
<frame src="allclasses-frame.html" name="classListFrame">
</frameset>
<frame src="overview-summary.html" name="classFrame">
<noframes>
<h2>Frame Alert</h2>
<p>
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
</p>
</noframes>
</frameset>
</html>
目錄結構:
~/workspace/testReport/static/report/flexmonkey/html $ ls
allclasses-frame.html alltests-fails.html automation overview-frame.html stylesheet.css
alltests-errors.html all-tests.html index.html overview-summary.html
錯誤消息:
127.0.0.1 - - [13/Sep/2012 11:01:25] "GET /overview-frame.html HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2012 11:01:25] "GET /allclasses-frame.html HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2012 11:01:25] "GET /overview-summary.html HTTP/1.1" 404 -
我會建議實際添加一個問題,以便大家知道您在尋求幫助。據推測,你希望有人告訴你爲什麼你會得到這些錯誤,但這並不明顯。 您是否嘗試過在'send_from_directory'中使用不同的目錄?似乎也許問題只是你所提供的道路不太正確。也許它需要是絕對的? – aezell
Armin Ronacher說:「send_from_directory的相對路徑是相對於應用程序根文件夾」。 http://flask.pocoo.org/mailinglist/archive/2011/9/26/serving-static-html-directories-via-flask/#7856224a04bc5810896ec174b7a298fb –