Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flask redirect to URL with variable

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) 
like image 784
Rzozi Avatar asked Feb 07 '23 21:02

Rzozi


1 Answers

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.

like image 140
Martijn Pieters Avatar answered Feb 13 '23 02:02

Martijn Pieters