修复Flask apache应用程序中的绝对URL [英] Fix absolute urls in Flask apache application
本文介绍了修复Flask apache应用程序中的绝对URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
< VirtualHost *: 80 GT;
WSGIScriptAlias / app /var/www/flask-app/flask-app.py
< Directory / var / www / flask-app>
要求所有授予
< / Directory>
< / VirtualHost>
但现在,链接如:
< a href ='/ login'>登入< / a>
转到 / login
而不是 /应用/登录
。有没有办法解决这个问题,而不改变所有的网址? 解决方案
stackoverflow.com/users/6079732/pj-santoro\">桑托罗说你应该使用 url_for
。
< a href ='{{url_for('route_function_name')}}'> ;登录< / a>
其中:
@ routes.route('/ login',methods = ['GET'])
def route_function_name():
return'blah'
I wrote a web application in Flask, then I decided to use Apache to deploy it:
<VirtualHost *:80>
WSGIScriptAlias /app /var/www/flask-app/flask-app.py
<Directory /var/www/flask-app>
Require all granted
</Directory>
</VirtualHost>
But now, links such as:
<a href='/login'>Sign in</a>
Go to /login
instead of /app/login
. Is there any way to fix this, without changing all of the URLs?
解决方案
As PJ Santoro said you should be using url_for
. This takes the ambiguity out of routes.
<a href='{{ url_for('route_function_name') }}'>Sign in</a>
Where:
@routes.route('/login', methods=['GET'])
def route_function_name():
return 'blah'
这篇关于修复Flask apache应用程序中的绝对URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文