Python 从我的程序中删除了send_file()命令,但它仍然发送

Python 从我的程序中删除了send_file()命令,但它仍然发送,python,flask,Python,Flask,我今天开始自学Flask,在我玩弄它的同时,我制作了一个下载文件的小程序,效果非常好 @app.route('/download') def download(): path = "Path_to_my_file" return send_file(path, as_attachment=True) 现在我稍微修改了一下程序,删除了“send_file”函数并添加了一些其他命令。然而,当我试着运行程序时,下载仍然发生。我不知道为什么 我的代码: from

我今天开始自学Flask,在我玩弄它的同时,我制作了一个下载文件的小程序,效果非常好

@app.route('/download')
def download():
    path = "Path_to_my_file"
    return send_file(path, as_attachment=True)
现在我稍微修改了一下程序,删除了“send_file”函数并添加了一些其他命令。然而,当我试着运行程序时,下载仍然发生。我不知道为什么

我的代码:

from flask import *
from flask_sqlalchemy import SQLAlchemy
from werkzeug.utils import secure_filename
import os


usera = ""

UPLOAD_FOLDER = 'I:/Python'
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config ['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///downloads.sqlite3'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user = db.Column(db.String)
    download = db.column(db.String)

def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

@app.route('/upload', methods=['GET', 'POST'])
def upload_file():
    global usera, db
    if request.method == 'POST':
        # check if the post request has the file part
        if 'file' not in request.files:
            flash('No file part')
            return redirect(request.url)
        file = request.files['file']
        # if user does not select file, browser also
        # submit an empty part without filename
        if file.filename == '':
            flash('No selected file')
            return redirect(request.url)
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            db.session.add(User(user = usera, download = filename))
            return render_template('lol.html')
    return '''
    <!doctype html>
    <title>Upload new File</title>
    <h1>Upload new File</h1>
    <form method=post enctype=multipart/form-data>
      <input type=file name=file>
      <input type=submit value=Upload>
    </form>
    '''

@app.route('/login',methods = ['POST', 'GET'])
def login():
    global db, user
    if request.method == 'POST':
        usera = request.form['user']
        return render_template('lol.html')

@app.route('/download')
def download():
    path = "I:/Python/"
    users = User.query.all()
    return users

if __name__ == '__main__':
   app.run(host='0.0.0.0')
从烧瓶导入*
从flask_sqlalchemy导入sqlalchemy
从werkzeug.utils导入安全文件名
导入操作系统
usera=“”
上传文件夹='I:/Python'
允许的_扩展={'txt','pdf','png','jpg','jpeg','gif'}
app=烧瓶(名称)
app.config['UPLOAD\u FOLDER']=UPLOAD\u FOLDER
app.config['SQLALCHEMY\u DATABASE\u URI']='sqlite:///downloads.sqlite3'
db=SQLAlchemy(应用程序)
类用户(db.Model):
id=db.Column(db.Integer,主键=True)
user=db.Column(db.String)
下载=db.column(db.String)
允许的def_文件(文件名):
在文件名和\
filename.rsplit('.',1)[1].lower()在允许的扩展名中
@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'],文件名))
db.session.add(User(User=usera,download=filename))
返回render_模板('lol.html')
返回“”'
上载新文件
上载新文件
'''
@app.route('/login',methods=['POST','GET'])
def login():
全局数据库,用户
如果request.method==“POST”:
usera=request.form['user']
返回render_模板('lol.html')
@app.route(“/下载”)
def下载():
path=“I:/Python/”
users=User.query.all()
返回用户
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run(host='0.0.0.0')

在flask返回旧文件时,我遇到了同样的问题(在您的情况下,即使代码更改,flask仍在发送文件)。此问题是由于文件缓存在浏览器中。清除浏览器缓存,您的api将开始工作。

您是否尝试重新启动flask服务器?是的,我尝试了2-3次,但没有任何更改能否显示其余的服务器代码?当然。一秒钟后…一个人发布了一个答案,让我看看它是否有效,如果无效,我将发布代码。我该怎么做?清除浏览器缓存。Ctrl+F5我试过了,但没什么变化。Nvm,成功了。