Re: [问题] html 的 frameset

楼主: gn00618777 (非常念旧)   2014-12-29 23:32:10
※ 引述《Neisseria (Neisseria)》之铭言:
: 其实还是 route 的问题
: 在 HTML 档案里设定的路径,在 Flask app 里必需要有对应的 route
: 否则就会跳 404 error (网页不存在)
: 我跟据你的程式,试写了一个可能的 route
: 但是我手头上没有网页可测试,不保证 work
: from flask import Flask, send_from_directory
: app = Flask(__name__)
: @app.route('/report')
: def view_report():
: return app.send_static_file('report/flexmonkey/html/index.html')
: @app.route('/<path:filename>')
: def send_file(filename):
: return send_from_directory('report/flexmonkey/html', filename)
: ※ 引述《gn00618777 (非常念旧)》之铭言:
: : ㄧ个 index.html ,里面有 frameset tag,分成三区块,这三个区块在 index.html
: : 里分别代表其他三份 html,例子如下:
: : <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">
: : 我在 flask 下写一个 script test.py:
: : @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')
: : 所有html都放在 report/flexmonkey/html/ 底下,server 启动 test.py
: : 客户端无法加载其他 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
: : 请问这个在 test.py 要怎么写呢? 谢谢。
感谢 N 大的直接提示,我原来把主要档案档名把它打错了~"~
然后再参照N大的指示做些修改就可以了。感谢!
只是我想请问为什么要特别分 send_static_file 和 send_from_directory ?
是因为N大以为 index.html 和 其他 htmol 档案分属于不同资料夹?
因为我只要
@app.route("<path:fiolname>")
def show():
return send_from_directory("static/report/flexmonkey/html",filename)
之后在客户端打 index.html 就可以加载所有其他的 html
谢谢。
作者: Neisseria (Neisseria)   2014-12-30 07:39:00
都可以啊,看你 route 要怎么设定,这些只是参考

Links booklink

Contact Us: admin [ a t ] ucptt.com