为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守候你守候我 2023-07-18 13:29:58
我是Python初学者。我有数百个要显示的静态 .htm 文件(不是 .html)。对我来说最好的方法是什么?非常感谢from flask import Flask, redirect, url_for, render_template, request, session, flash, Response, jsonifyapp = Flask(__name__)app.config['SECRET_KEY'] = 'hello'@app.route('/view')def view():    return render_template("example.htm")if __name__ == "__main__":    app.run(debug=True)
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

如果您有数百个静态 .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 imports


fileline = "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 footer


fileline = 'if __name__ == "__main__":' + "\n"

view_file.write(fileline)

fileline = '    app.run(debug=True)' + "\n"

view_file.write(fileline)

view_file.close


查看完整回答
反对 回复 2023-07-18
  • 1 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信