Python Flask重定向到带有变量的URL

Python Flask重定向到带有变量的URL,python,redirect,flask,Python,Redirect,Flask,我想重定向到URL并将变量“file”传递给它,请有人帮忙。以下是视图: @app.route('/api/uploads/<string:file>/', methods=['GET','COPY']) def download(file): sub = db.session.query(func.max(Content.Hits).label('max_hit')).subquery() contenu = db.session.query(Content).join

我想重定向到URL并将变量“file”传递给它,请有人帮忙。以下是视图:

@app.route('/api/uploads/<string:file>/', methods=['GET','COPY']) 
def download(file):
   sub = db.session.query(func.max(Content.Hits).label('max_hit')).subquery()
  contenu = db.session.query(Content).join(sub, sub.c.max_hit == Content.Hits).all()
name1 = contenu[0].name

if name1 == file:
   return redirect('http://192.168.198.134:5000/api/uploads/<string:file>', file)

else:   
    return send_from_directory(UPLOAD_FOLDER, file) 
@app.route('/api/uploads/',方法=['GET','COPY']
def下载(文件):
sub=db.session.query(func.max(Content.Hits).label('max_hit')).subquery()
contenu=db.session.query(Content).join(sub,sub.c.max_hit==Content.Hits).all()
名称1=contenu[0]。名称
如果name1==文件:
返回重定向('http://192.168.198.134:5000/api/uploads/,档案)
其他:
从目录返回发送目录(上传文件夹、文件)
这就是它的用途:

url\u for()
获取视图的端点名称(默认情况下为函数名,此处为
下载
),以及其他关键字参数以提供参数值


另请参阅Quickstart文档中的。

抱歉,URL指向另一台机器上运行的另一台flask服务器。我认为如果我重定向到同一个页面,可以使用url_server@Rzozi:然后使用
url\u for()
构建路径,然后对该url进行后期处理以设置服务器名。@MartijnPerters:我可以这样做吗:返回重定向(“%s”%url\u for(下载,文件=文件)您必须小心地正确转义path元素。
url\u for()
已经为您处理了这个问题。
from Flask import url_for

redirect(url_for(download, file=file))