Python 在Flask中显示.txt文件
所以我尝试使用Flask制作一个程序,允许用户上传一个.txt文件。然后程序将打印出该文件。使用我找到的一些教程,我在名为site.py的文件中有以下代码:Python 在Flask中显示.txt文件,python,html,file,flask,upload,Python,Html,File,Flask,Upload,所以我尝试使用Flask制作一个程序,允许用户上传一个.txt文件。然后程序将打印出该文件。使用我找到的一些教程,我在名为site.py的文件中有以下代码: 从烧瓶导入烧瓶,呈现模板,请求 从werkzeug导入安全文件名 app=烧瓶(名称) @应用程序路径(“/”) def upload(): 返回呈现模板('upload.html') @app.route('/uploader',methods=['GET','POST']) def上载程序(): 如果request.method==“P
从烧瓶导入烧瓶,呈现模板,请求
从werkzeug导入安全文件名
app=烧瓶(名称)
@应用程序路径(“/”)
def upload():
返回呈现模板('upload.html')
@app.route('/uploader',methods=['GET','POST'])
def上载程序():
如果request.method==“POST”:
f=请求.files['file']
f、 保存(安全文件名(f.filename))
content=f.read()
返回呈现模板(“book.html”,content=content)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
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>
好像什么都没做
我如何解决这个问题
谢谢 我认为你的问题应该是“如何在html
pre
tagwithflask中显示.txt文件内容”,而不是你的问题,因为这与你的问题没有什么不同
虽然只是查看代码,但您只需向模板发送正确的上下文关键字,就像@alexander santos所说的:
是否将“content”变量传递给“text”变量?否,如何传递?在render template方法上,传递了“content=content”。你应该传递类似于“text=content”的内容嗯,好吧,这很有意义,我试着将行更改为:return render_template(“book.html”,text=content),但现在我只得到以下输出,不管我输入了什么文件:b''-就像没有打印出.txt文件,它只是打印出b'-我试过这个,尽管这肯定是朝着正确方向迈出的一步,但出于某种原因,当我这样做时,我得到了以下输出:b“”,无论文本文件是什么。我试图修改book.html文件来打印一些东西,以确保它正常工作,并且它确实打印了它。但是,由于某种原因,
{{text}}
行似乎工作不正常。有什么建议吗?可能是您的文件坏了/损坏了,或者您的操作系统对您的媒体文件夹有权限,请检查此文件,并告诉我们有什么问题!虽然以二进制模式保存文件很重要,但要使用utf-8编码。为了很好地呈现文档,所有这些细节都很重要
<pre>
{{ text }}
</pre>
return render_template("book.html", text=content)