使用 Babel 进行 Flask WTF 本地化
Flask WTF localization with Babel
我已经使用 Flask Babel 并本地化了我的项目,但我对 WTF 表单有问题,当字段为空时我无法翻译显示的字段。有帮助吗?
这是有效的:
return jsonify({'error': gettext('Incorrect Data')}), 406
但是在处理表单class 时,Babel 不会提取该字段。像这样:
class LoginForm(Form):
username = TextField(gettext(u'Username'), validators=[validators.Required()])
password = PasswordField('Password', validators=[validators.Required()])
我已经尝试了 with/without 和 'u' 选项
验证器 Required
的消息是通过 Required(message=error_message)
设置的,也用 babel 翻译它们。详情请参阅 WTForms documentation。
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')])
试试 lazy_gettext('')
。
class LoginForm(Form):
username = TextField(lazy_gettext(u'Username'), validators=[validators.Required()])
在HTML:
{{form.username.label (class="form-control-label") }}
我已经使用 Flask Babel 并本地化了我的项目,但我对 WTF 表单有问题,当字段为空时我无法翻译显示的字段。有帮助吗?
这是有效的:
return jsonify({'error': gettext('Incorrect Data')}), 406
但是在处理表单class 时,Babel 不会提取该字段。像这样:
class LoginForm(Form):
username = TextField(gettext(u'Username'), validators=[validators.Required()])
password = PasswordField('Password', validators=[validators.Required()])
我已经尝试了 with/without 和 'u' 选项
验证器 Required
的消息是通过 Required(message=error_message)
设置的,也用 babel 翻译它们。详情请参阅 WTForms documentation。
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')])
试试 lazy_gettext('')
。
class LoginForm(Form):
username = TextField(lazy_gettext(u'Username'), validators=[validators.Required()])
在HTML:
{{form.username.label (class="form-control-label") }}