Python Flask 提供 .htm 文件,可能吗?

我是Python初学者。我有数百个要显示的静态 .htm 文件(不是 .html)。


对我来说最好的方法是什么?


非常感谢


from flask import Flask, redirect, url_for, render_template, request, session, flash, Response, jsonify


app = Flask(__name__)

app.config['SECRET_KEY'] = 'hello'


@app.route('/view')

def view():

    return render_template("example.htm")



if __name__ == "__main__":

    app.run(debug=True)


守候你守候我
浏览 80回答 1
1回答

慕妹3242003

如果您有数百个静态 .htm 文件,我想手动编写 Flask View 文件会非常非常乏味。:-(幸运的是,您可以使用 Python 读取文件列表并为您编写更多 Python 代码和 View.py 文件!:-)将以下代码放入与 HTM 文件相同的文件夹中的文件(例如)“view_builder.py”中,然后从该文件夹中的 cmd 提示符执行它:(python3 view_builder.py)import glob  # start a file for the Flask Views    view_file = open("view.py", "a")# first write the View file header with Flask importsfileline = "from flask import Flask, redirect, url_for, render_template, request, session, flash, Response, jsonify" + "\n\n"view_file.write(fileline)fileline = "app = Flask(__name__)" + "\n"view_file.write(fileline)fileline = "app.config['SECRET_KEY'] = 'hello'" + "\n"+ "\n"view_file.write(fileline)# assuming all views will have the same name as original HTM file# filetype may be case sensitive?for file in glob.glob("*.HTM"):    # split file into filename and filetype    fileparts = file.split('.')    # build the app route and view def() with just the filename (no need for filetype)    fileline = "@app.route('/" + fileparts[0] + "')" + "\n"    view_file.write(fileline)    fileline = "def " + fileparts[0] + "():" + "\n"    view_file.write(fileline)    # use the whole file name (with filetype) for the template file     fileline = "    return render_template('" + file + "')" + "\n"+ "\n"    view_file.write(fileline)    # View.py file footerfileline = 'if __name__ == "__main__":' + "\n"view_file.write(fileline)fileline = '    app.run(debug=True)' + "\n"view_file.write(fileline)view_file.close
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python