为什么无法使用Flask-Babel定位烧瓶路径?

时间:2018-12-03 23:25:39

标签: flask flask-babel

我正在使用flask-babel本地化我的应用程序内容/页面,并希望将URL与其一起本地化(具有本地化的网址将导致beta SEO性能)。

所以我将得到这样的URL,

  1. www.example.com/about
  2. www.example.com/nl/over-ons(荷兰语)

现在,我可以看到以下路线。

@site.route('/about', endpoint="about_en")
@site.route('/over-ons', endpoint="about_nl")
def about_page():
    return render_template('about.html', title=gettext(u'About'))

然后通过这样做方便地呼叫从Jinja出发的路线,

<a href="{{ url_for('site.about_'+ session['lang_code']) }}">{{ title }}</a>

现在这可以正常工作并达到目的。但是,我想找到一种抽象的解决方案,因为这种方法将很快使我转向非DRY代码。例如,如果我必须在网站上添加一种新语言,则必须更新多个视图和路线,这绝对是不希望的。

总有这样的事情吗?我了解以下内容将无效,因为路线不是动态的。

@site.route(gettext(u'/about'))
def about_page():
    return render_template('about.html', title=gettext(u'About'))

0 个答案:

没有答案