3

我使用了 Flask Babel 并本地化了我的项目,但是我遇到了 WTF 表单的问题,当字段为空时,我无法翻译显示的字段。有什么帮助吗?

这是有效的:

return jsonify({'error': gettext('Incorrect Data')}), 406

但是在处理 Form 类时,Babel 不会提取字段。像这样:

class LoginForm(Form):
    username = TextField(gettext(u'Username'), validators=[validators.Required()])
    password = PasswordField('Password', validators=[validators.Required()])

我已经尝试了有/没有'u'选项

4

2 回答 2

0

验证器的消息Required是通过设置的Required(message=error_message),也可以使用 babel 进行翻译。有关详细信息,请参阅WTForms 文档

class LoginForm(Form):
    username = TextField(gettext(u'Username'), validators=[validators.Required(message='Validation failed for username')])
    password = PasswordField('Password', validators=[validators.Required(message='Validation failed for password')])
于 2015-07-27T09:52:24.797 回答
0

尝试使用lazy_gettext('').

class LoginForm(Form):
    username = TextField(lazy_gettext(u'Username'), validators=[validators.Required()])

HTML中:

{{form.username.label (class="form-control-label") }}
于 2019-05-14T08:44:11.263 回答