Flask 烧瓶巴别塔不';无法使用视图返回的字符串

Flask 烧瓶巴别塔不';无法使用视图返回的字符串,flask,flask-babel,Flask,Flask Babel,对不起,我是flask babel的新手,也是flask的新手! 我的烧瓶代码: test.py app = Flask(__name__) app.config['BABEL_DEFAULT_LOCALE'] = 'en' babel = Babel(app) @app.route('/', methods=['GET']) def hello_world(): message = _(u'测试 页面') return render_template('index.html

对不起,我是flask babel的新手,也是flask的新手! 我的烧瓶代码:

test.py

app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'en'
babel = Babel(app)

@app.route('/', methods=['GET'])
def hello_world():
    message = _(u'测试  页面')
    return render_template('index.html', message=message)
index.html

<h1>{{ _("测试") }}</h1>
<h2>{{ _("消息:%(m)s", m=message) }}</h2>

结果是:

试验

消息:测试 页面


第一个字符串已正确翻译,但第二个字符串未正确翻译。我想知道如何使它工作。请帮忙。谢谢

好的。我找到了答案。这几乎就像在更新.po文件时应该删除.mo文件一样。 我删除了
message.mo
,并使用
python compile-d translations
生成一个新的
message.mo
,然后它就可以正常工作了

#: learnflask.py:23
msgid "测试  页面"
msgstr "test page"

#: templates/index.html:8
msgid "测试"
msgstr "Test"

#: templates/index.html:9
#, python-format
msgid "消息:%(m)s"
msgstr "message: %(m)s"