我在从python代码重定向锚点时遇到一些问题。
我的代码:
func():
...
redirect(url_for('my_view', param=param, _anchor='my_anchor'))
此重定向未将我重定向到#my_anchor。
在模板链接中,例如:
<a href="{{ url_for('my_view', param=param, _anchor='my_anchor') }}"></a>
效果很好...可能是烧瓶函数“重定向”中的问题。
如何在Flask中使用重定向和锚点?
烧瓶版本0.10.x
views.py
from flask import Flask
from flask import redirect, url_for
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/myredirect')
def my_redirect():
return redirect(url_for('hello_world',_anchor='my_anchor'))
if __name__ == '__main__':
app.run()
这不需要模板,一旦您击中/ myredirect,您将被重定向到/并使用锚点#my_anchor[以
$ python views.py
开始查看并导航至http://127.0.0.1:5000/myredirect后,您最终以http://127.0.0.1:5000/#my_anchor结束
return redirect(url_for('hello_world') + '#my_anchor')
代替
return redirect(url_for('hello_world',_anchor='my_anchor'))
这是有效的,因为url_for
返回端点的字符串。