1

目前,我有一个关于 Flask 应用程序的问题。

我正在开发一个需要生成报告的网络应用程序(一些自动生成的 html 文件,如 junit 报告)。

在report_dispay 页面上,我在左侧有一个导航栏,上面有多个报告标题(html 链接);在右侧,有一个 iframe,单击一个链接时将在其中显示报告。生成报告后,我将 URI(相对文件位置,即“reports/html/index”)发回。但是当我设置iframe的src属性时,flask命令行打印404,找不到“reports/html/index”。

您知道如何将生成的报告“注册”到应用程序吗?

非常感谢,维康

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 回答