【发布时间】:2018-03-06 22:25:46
【问题描述】:
我正在使用 Flask 框架构建国际网站,该框架可以处理两种语言(目前):英语和法语,使用 Flask-Babel,我将数据存储在使用 SQLAlchemy 作为工具包的 SQL 数据库。
目前,我的模型对于每种语言都有几个重复的属性:
from project import db
class Model(db.Model)
[...]
name_en = db.Column(db.String)
name_fr = db.Column(db.String)
description_en = db.Column(db.String)
description_fr = db.Column(db.String)
在我的 .html 模板中,我使用以下内容显示值:
{% if g.locale == 'fr' %}
{{ model.name_fr }}
{% else %}
{{ model.name_en }}
{% endif %}
有没有更好的方法来管理这个?如果我想添加一种新语言,修改所有模板会很乏味。 理想情况下,我想在我的模板中添加如下内容:
{{ model.name[g.locale] }}
可以实现吗?
【问题讨论】:
-
你应该看看flask-babel,但你的问题在这里有点离题,或者可能太宽泛
-
我尝试搜索关于如何为国际化构建 SQL 数据库的一般指导,这确实是我的问题,但我找不到任何问题。
标签: python flask database-design internationalization