объект current_user иногда отсутствует в среде Linux (Centos) - PullRequest
0 голосов
/ 25 января 2019

В приложении My Flask используются модули Flask-Babel и Flask-Login. Чтобы получить настройку языка для каждого пользователя, метод get_locale () (из Flask-Babel) ссылается на свойство языка current_user. Как я могу убедиться, что объект current_user жив и ссылается на его свойство?

Это работает на CentOS 7, Python 2.7, Apache 2.4. Я позволяю указывать другой объект с помощью предложения try / исключением, когда свойство языка current_user возвращает ошибку.

Это код 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"].

Это не происходит в моем локальном ПК (Windows), а только в Linux (CentOS7)

...