我的flask应用程序中有一个简短的if / else语句,我想使其更短(最好是1行),因为它将在我的应用程序的每条路线中使用。这是上下文的示例路由(我使用的是自定义语言环境系统而不是Babel,因为我无法弄清楚如何使用Babel来完成我想做的事情):
@main.route("/")
@main.route("/", subdomain="<lang>")
def home(lang = None):
if lang:
locale = Locale(lang)
else:
return redirect(url_for("main.home", lang="en"))
return render_template("home.html", l=locale.write)
有问题的代码是:
if lang:
locale = Locale(lang)
else:
return redirect(url_for("main.home", lang="en"))
如果有人知道缩短此代码的方法,将不胜感激:)
尝试以下条件表达式:
def home(lang=None):
return render_template("home.html", l=Locale(lang).write) if lang else redirect(url_for("main.home", lang="en"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句