WTForms L10N和I18N无法正常工作 - python

我正在学习使用烧瓶。我无法使WTForms内置翻译起作用

http://wtforms.readthedocs.org/en/latest/i18n.html#using-the-built-in-translations-provider

这是我的形式课

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']})

编辑:经过一段时间的游戏,我抛弃了烧瓶-WTForm,并使用了纯WTForms。然后它起作用了。我猜这是flask-WTForm上的错误。如果我没有答案,我将使用纯WTForms

参考方案

我使用的方法有效,但仅适用于WTForm,而不适用于flask-WTForm。我假设这是一个错误。我找不到有关它的任何文档。
我现在将使用纯WTForm,因为它似乎可以解决问题。

WTForms Flask(wtf_flask)验证程序如何为RadioField包括“必需”属性 - python

我基本上在寻找的是WTForms的InputRequired()的RadioField等效验证器。我的意思是,当您尝试提交表单而不在具有InputRequired()验证器的StringField字段中输入任何文本时,用户会在文本字段上方看到提示,提示是"Please fill out this field"。我希望用户必须选择male或…

如何使WTForms要求输入RadioButton字段? - python

我正在使用Flask和Flask-WTF创建一个Web表单。表单是动态的,其字段由数据库确定。数据库中的某些问题指定单选按钮字段,而其他问题指定一个单词。我需要要求单选按钮字段中有一个选择。使用wtforms.validators.DataRequired非常适合于字符串字段,但不适用于单选字段。... if question.category == �…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

Flask-RESTful-返回自定义响应格式 - python

我已经按照以下Flask-RESTful文档定义了自定义响应格式。app = Flask(__name__) api = restful.Api(app) @api.representation('application/octet-stream') def binary(data, code, headers=None): resp =…

Python:传递记录器是个好主意吗? - python

我的Web服务器的API日志如下:started started succeeded failed 那是同时收到的两个请求。很难说哪一个成功或失败。为了彼此分离请求,我为每个请求创建了一个随机数,并将其用作记录器的名称logger = logging.getLogger(random_number) 日志变成[111] started [222] start…