Debugging 如何让用户将照片提交到网页上

Debugging 如何让用户将照片提交到网页上,debugging,pythonanywhere,Debugging,Pythonanywhere,我需要帮助,让用户将照片提交到网页上,并将这些照片1)保存到我创建的文件夹中2)显示在网页上。忽略html代码的间距,它在我的文档中是正确的 在我的错误日志中显示: 2019-11-30 18:52:15229:文件“/home/HassanSherien/.virtualenvs/flask tutorial/lib/python3.6/site packages/flask/app.py”,第2097行,在make_response中 2019-11-30 18:52:15229:“查看函数

我需要帮助,让用户将照片提交到网页上,并将这些照片1)保存到我创建的文件夹中2)显示在网页上。忽略html代码的间距,它在我的文档中是正确的

在我的错误日志中显示:

2019-11-30 18:52:15229:文件“/home/HassanSherien/.virtualenvs/flask tutorial/lib/python3.6/site packages/flask/app.py”,第2097行,在make_response中 2019-11-30 18:52:15229:“查看函数未返回有效响应。错误”

Python代码:

def允许的文件(文件名):
在文件名和\
filename.rsplit('.',1)[1].lower()在允许的扩展名中
#@app.route('/upload',methods=['GET','POST'])
@app.route('/upload',methods=['GET','POST'])
def upload_文件():
如果request.method==“POST”:
#检查post请求是否包含文件部分
如果“文件”不在request.files中:
闪存(“无文件部分”)
返回重定向(request.url)
file=request.files['file']
#如果用户未选择文件,则浏览器也会
#提交一个没有文件名的空部分
如果file.filename=='':
闪存('没有选定的文件')
返回重定向(request.url)
如果文件和允许的文件(file.filename):
filename=secure\u文件名(file.filename)
闪存(文件)
保存(os.path.join(app.config['UPLOAD\u FOLDER'],文件名))
返回重定向(url_for('uploaded_file',filename=filename))
elif request.method==“GET”:
返回render\u模板(“overview\u main\u page.html”,comments=Comment.query.all())
返回
@app.route('/uploads/',methods=[“GET”,“POST”])
def上传文件(文件名):
从_目录返回发送_(app.config['UPLOAD_FOLDER'],
文件名)
Html代码:

  <div class="w3-panel">
    <div class="w3-row-padding" style="margin:0 -16px">
      <div class="w3-third">
       <form action="{{ url_for('upload_file') }}" method="post">
       <!-- <form action="{{ url_for('upload_file') }}" method='POST'> -->
       <input type="file" name="file" value="fileupload" id="file_upload">
       <input type='submit' />


此函数“``def upload_file():``没有返回值。你已经为所有的if条件添加了响应,如果它们不满足怎么办,那么你也必须在if条件之外返回。你能澄清一下你所说的“在if条件之外返回”是什么意思吗?我想我是这样做的,返回就在它的正下方吗?@PygirlUpload_file()我的意思是。你能展示一下整个追踪过程吗@Pygirl我不确定这是否会为youapp.config['UPLOAD_FOLDER']打开。请检查它的路径,如果不存在,请创建文件夹。