因此,我正在尝试使用Flask制作一个程序,该程序将允许用户上传.txt文件。然后,程序将打印出该文件。使用我发现的一些教程,我在名为site.py的文件中包含以下代码:
from flask import Flask, render_template, request
from werkzeug import secure_filename
app = Flask(__name__)
@app.route('/')
def upload():
return render_template('upload.html')
@app.route('/uploader', methods = ['GET', 'POST'])
def uploader():
if request.method == 'POST':
f = request.files['file']
f.save(secure_filename(f.filename))
content = f.read()
return render_template("book.html", content=content)
if __name__ == '__main__':
app.run(debug = True)
在“ upload.html”文件中,我具有以下内容:
<html>
<body>
<form action = "http://localhost:5000/uploader" method = "POST"
enctype = "multipart/form-data">
<input type = "file" name = "file" />
<input type = "submit"/>
</form>
</body>
</html>
在我的book.html文件中,我具有以下内容:
<pre>
{{ text }}
</pre>
文件上传器肯定可以正常工作-文件正在保存在我计算机的正确目录中,但是文件中的文本没有显示,即我网站的最后两行。
content = f.read()
return render_template("book.html", content=content)
似乎什么也没做。
如何解决此问题?
谢谢!
答案 0 :(得分:0)
我认为您的问题应该是“如何使用Flask在html pre
标签中显示.txt文件的内容”而不是您的问题,因为没有什么不同
尽管只是看代码,但您只需要向模板发送正确的context关键字,就像@ alexander-santos所说的那样:
return render_template("book.html", text=content)