在Linux(Centos)环境中,current_user对象有时消失了

时间:2019-01-25 03:06:58

标签: linux apache flask flask-login flask-babel

我的Flask应用程序使用Flask-Babel和Flask-Login模块。 为了获得每个用户的语言设置,(Flask-Babel的)get_locale()方法引用current_user的language属性。 如何确保current_user对象处于活动状态并引用其属性?

这可以在CentOS 7,python 2.7,Apache 2.4上运行。 当current_user的language属性返回错误时,我使用try / except子句指向另一个对象。

这是每次到达请求时都会调用的get_locale()代码。

@babel.localeselector
def get_locale():
    try:
        lang = current_user.get_user_lang()
        if lang:
        return lang
    except:
        lang = config_json['REGION']
    return lang

这是current_user的属性

class UserSession(UserMixin):

def __init__(self, user_id, authenticated="False"):
    self.userData = dict()
    self.userData['user_id'] = user_id
    self.userData['authenticated'] = authenticated
    self.userData['lang'] = config_json['REGION']
    self.ex_info = {"ko": {}, "en": {}, "zh": {}}

def get_user_lang(self):
    return self.userData["lang"]

我希望指出current_user的语言属性。 但有时它指的是config_json [“ REGION”]。

这在我的本地PC env(Windows)上不会发生,而只会在linux(CentOS7)上发生

0 个答案:

没有答案