Reputation: 137
I want to make a redirection to a URL and pass variable 'file' to it , can someone please help . Here is the view :
@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)
Upvotes: 4
Views: 18564
Reputation: 1121914
This is what the url_for()
function is for:
from Flask import url_for
redirect(url_for(download, file=file))
url_for()
takes the endpoint name of your view (by default the name of your function, here download
), and additional keyword arguments to provide values for the parameters.
Also see the URL Building section in the Quickstart documentation.
Upvotes: 8