Flask redirect to URL with variable

17,663

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.

Share:
17,663
Rzozi
Author by

Rzozi

Updated on June 04, 2022

Comments

  • Rzozi
    Rzozi almost 2 years

    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)