В приложении 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)