1

現在、Flaskアプリケーションについて質問があります。

レポート(junitレポートなどの自動生成されたhtmlファイル)を生成する必要があるWebアプリを開発しています。

report_dispayページの左側に、複数のレポートタイトル(htmlリンク)があるナビゲーションバーがあります。右側には、1つのリンクをクリックするとレポートが表示されるiframeがあります。レポートが生成された後、URI(相対的なファイルの場所、つまり「reports / html / index」)を送り返します。しかし、iframeのsrc属性を設定すると、flaskコマンドラインのprint404で「reports/ html/index」が見つかりません。

生成されたレポートをアプリケーションに「登録」する方法を知っていますか?

どうもありがとう、Vycon

4

1 に答える 1

2

これらのレポートのハンドラーを登録する必要があります。

# Other imports here
from werkzeug.utils import safe_join

# ... snip Flask setup ...

@app.route("/reports/<path:report_name>")
def report_viewer(report_name):
    if report_name is None:
        abort(404)

    BASE_PATH = "/your/base/path/to/reports"

    fp = safe_join(BASE_PATH, report_name)
    with open(fp, "r") as fo:
        file_contents = fo.read()

    return file_contents
于 2012-08-03T17:48:09.723 に答える