Sometimes, we want to redirect to https from http with Python Flask.
In this article, we’ll look at how to redirect to https from http with Python Flask.
How to redirect to https from http with Python Flask?
To redirect to https from http with Python Flask, we redirect from the http URL to the https URL with request.url.replace.
For instance, we write
@app.before_request
def before_request():
if not request.is_secure:
url = request.url.replace("http://", "https://", 1)
code = 301
return redirect(url, code=code)
to apply the @app.before_request decorator to the before_request function to call it before each request.
In it, we check if a https request is made with request.is_secure.
If it False, then we call request.url.replace to replace 'http://' with 'https://' in the URL.
We call redirect with the new url with 'https://' and we set the response code to 301 to do a 301 redirect to the https URL from the http URL.
Conclusion
To redirect to https from http with Python Flask, we redirect from the http URL to the https URL with request.url.replace.