Я учусь использовать колбу. Я не могу сделать WTForms встроенные переводы работыWTForms l10n и i18n не работает
http://wtforms.readthedocs.org/en/latest/i18n.html#using-the-built-in-translations-provider
Вот мой класс Form
class MyBaseForm(Form):
class Meta:
locales = ['es_ES', 'es']
class LoginAdminForm(MyBaseForm):
user = StringField('user', validators=[validators.InputRequired()])
password = StringField('password', validators=[validators.InputRequired()])
Здесь маршрутная
app = Flask(__name__)
app.config.from_object('config')
@app.route('/admin', methods=['GET', 'POST'])
def adminLogin():
form = LoginAdminForm()
if form.validate_on_submit():
return redirect('/index') #TODO: Redirect to actual admin menu
return render_template("adminLogin.html", title="Admin login",form=form)
Вот конфиг
WTF_CSRF_ENABLED = True
SECRET_KEY = 'you-will-never-guess'
Вот adminLogin.html
{% extends "base.html" %}
{% block content %}
<form action="" method="post" name="login">
{{ form.hidden_tag() }}
<p>
Usuario:
{{ form.user }}
{% for error in form.password.errors %}
<span style="color: red;">[{{ error }}]</span>
{% endfor %}<br>
Ingrese Contraseña:
{{ form.password }}
{% for error in form.password.errors %}
<span style="color: red;">[{{ error }}]</span>
{% endfor %}<br>
</p>
<p><input type="submit" value="Acceder"></p>
{% endblock %}
base.html просто пустой HTML скелет Ошибки всегда выходят на английском языке. Я также попытался передать параметр в конструкторе не работает либо
form = LoginAdminForm(meta={'locales': ['en_US', 'en']})
EDIT: Через некоторое время играть вокруг я угробил склянки-WTForm и пошел с чистым WTForms. И тогда это сработало. Я предполагаю, что это ошибка на фляге-WTForm. Если я не получу ответа, я пойду с чистыми WTForms