- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现重定向,以便在我的用户在菜单栏上选择特定语言时将其带回他们之前的页面。
我有这个功能:
@application.route('/locale/<locale>/redirect_to/<redirect_to>/', methods=['GET'])
def set_locale(locale, redirect_to):
session['locale'] = locale
return redirect(redirect_to) # Change this to previous url
现在我的语言选项有这个:
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
<li><a href="{{ url_for("set_locale", locale="en", redirect_to=request.path) }}">English</a></li>
<li><a href="{{ url_for("set_locale", locale="es", redirect_to=request.path) }}">Spanish</a></li>
</ul>
但是,我一直遇到错误,因为 request.path 的格式为/some/url/like/this/并且它一直在搞乱 redirect_to 参数,我可能会收到路径未定义等错误。
传统上,开发人员使用 ?redirect_to=/home
来解决这个问题。但是,我不知道是否有一种正确的方法可以在 flask 中实现 ?key=value 模式,而不会使它变得如此不完整,以至于当我改变它时它会崩溃。
如何在这里轻松实现 ?key=value 模式?
最佳答案
任何传递给 url_for
的不属于路由的关键字参数都将包含在查询字符串中。
<a href="{{ url_for('set_locale', locale='en', redirect_to=request.path) }}">
您的端点然后更改为类似于
@application.route('/locale/<locale>/')
def set_locale(locale):
session['locale'] = locale
redirect_to = request.args.get('redirect_to', '/')
return redirect(redirect_to)
代价是您不能在路由中强制执行 redirect_to
,因此您需要自己处理。这里我默认为'/'
。另一种方法是
redirect_to = request.args['redirect_to']
如果 redirect_to
不包含在查询字符串中,这将导致 Flask 返回 400 错误请求响应。
关于python - flask 实现?争论而不是/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33211481/
我有这样一个受歧视的工会: type A = |B | C of int*A 我必须像这样进行模式匹配(括号似乎是必需的): match x with | B -> printfn "B" | C (
panic!(arg) 发出后如何收集 arg? This文档不明确。 当执行 panic!(42) 时,我希望我的应用程序收集 42 并优雅地失败,而不仅仅是中止。 最佳答案 为了收集论点,向下转换
所以,我已经使用 HP 媒体中心一段时间了,只有大约 4 GB 的 RAM,所以,当然,我运行的是 32 位 Windows 7。我一直尝试运行一个使用java虚拟机,我可以使用jvm争论它,但是,我
我有以下 IDL 接口(interface): interface ItemA : Item { void actionA(in float a, out long b); }; 在
hamcrest库中有一个方法: package org.hamcrest.core ... public static Matcher allOf(Matcher first, Matcher s
我有一个格式为 numpy.timedelta(64) 的时间增量:value = numpy.timedelta64(30,'m') (此处为 30 分钟)。 有没有办法将该值传递给 pandas
我是一名优秀的程序员,十分优秀!