Flask重定向到带变量的URL

时间:2016-01-29 15:45:23

标签: 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(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) 

1 个答案:

答案 0 :(得分:7)

这是url_for() function的用途:

from Flask import url_for

redirect(url_for(download, file=file))

url_for()获取视图的端点名称(默认情况下为函数名称,此处为download),并提供其他关键字参数以提供参数值。

另请参阅快速入门文档中的URL Building section