如何解决简化/最小化Flask中的if else语句
我的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"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。