Flask + Flask-Security + Babel无法正常工作

时间:2017-02-21 18:45:41

标签: python flask babel flask-security flask-babel

我已经安装了Flask + Babel + Flask Security。 创建了这样的所有翻译:

    • main.py
    • 翻译
      • RU
        • LC_MESSAGES
          • messages.mo
          • messages.po

在main.py中,有一部分用于设置执行语言:

gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray_img, 127, 255, 1)
_, contours , _= cv2.findContours(thresh, cv2.RETR_TREE, 1)

cnt = contours
for i in range(len(contours)):

    #---- Mark contours above certain area ----
    if (cv2.contourArea(cnt[i]) > 1500):
        final_image = cv2.drawContours(img, cnt[i], -1, (0,255,0), 3)

cv2.imshow('Marked image', final_image )

但是http://localhost/login没有翻译过。能否请您在哪里挖掘?即使 Debug = True

,日志中也没有错误

3 个答案:

答案 0 :(得分:1)

我发现 Flask-Security 不能与开箱即用的Babel一起使用! 从WTF处理角度来看This Pull Request fixes it partially。 为了能够翻译Jinja2模板以及需要在 core.py

中进行修改
$arrayFirstkey = current($array);
$frags = $arrayFirstkey["statistics"]["all"]["frags"];

答案 1 :(得分:0)

FWIW,我只需将导入更改为

from flask_babelex import Babel, gettext, lazy_gettext

通过Flask-Security使其一切正常。

答案 2 :(得分:0)

您应告知您的应用您使用的是特定语言环境。我这样做如下:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_security import Security, SQLAlchemyUserDatastore
from .models import User, Role, 
from flask_babel import Babel

app = Flask(__name__)
db = SQLAlchemy(app)

user_datastore = SQLAlchemyUserDatastore(db, User, Role)
security = Security(app, user_datastore)

babel = Babel(app, 'ru')