如何读取test.txt内容并在HTML的p标签中展示?附已有代码
读取test.txt内容并展示在HTML
标签的解决方法
修改后的file.py
把文件读取逻辑放到路由函数里,再把内容传给模板:
from flask import Flask, render_template app = Flask(__name__) @app.route("/") def index(): with open('test.txt', 'r') as f: f_contents = f.read() return render_template("index.html", file_content=f_contents) if __name__ == "__main__": app.run(debug=True)
修改后的index.html
在
标签里用模板变量渲染内容,同时处理换行:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <p>{{ file_content.replace('\n', '<br>')|safe }}</p> </body> </html>
关键说明
- 把文件读取移到路由函数内,确保每次访问页面都会读取最新的文件内容(原来全局读取的话,只有程序启动时读一次,之后文件更新内容不会同步)
- 文本里的换行符
\n在HTML里不会自动换行,所以用replace转成<br>标签,再加上|safe让Flask不转义这个HTML标签,这样就能按原文件的换行格式显示了
内容的提问来源于stack exchange,提问作者user18809841
相关产品推荐
相关产品推荐

