我url_for用户在用户注销时生成重定向网址.
url_for
但是,当我将页面更改为https连接时,url_for仍然会给我http.
我想明确要求在网址的开头url_for添加https.
你能指点我怎么改变它吗?我看看Flask的文档,没有运气.
谢谢.
我在负载平衡后面有一个Flask应用程序,它终止了SSL.我有代码"检测"何时使用SSL并改变请求对象:
@app.before_request
def before_request():
x_forwarded_proto = request.headers.get('X-Forwarded-Proto')
if x_forwarded_proto == 'https':
request.url = request.url.replace('http://', 'https://')
request.url_root = request.url_root.replace('http://', 'https://')
request.host_url = request.host_url.replace('http://', 'https://')
Run Code Online (Sandbox Code Playgroud)
然后我有一个蓝图视图功能:
admin = Blueprint('admin', __name__, url_prefix='/admin')
@admin.route('/login')
def login():
print request.url
Run Code Online (Sandbox Code Playgroud)
这个函数的输出(当我去/ admin/login时)总是http://而不是https://(尽管它应该在before_request函数中被突变).
关于如何解决这个问题的任何想法?