Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Flask中显示.txt文件_Python_Html_File_Flask_Upload - Fatal编程技术网

Python 在Flask中显示.txt文件

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

所以我尝试使用Flask制作一个程序,允许用户上传一个.txt文件。然后程序将打印出该文件。使用我找到的一些教程,我在名为site.py的文件中有以下代码:

从烧瓶导入烧瓶,呈现模板,请求
从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)