Получить идентификатор пользователя в колбе

sebach1 спросил: 07 октября 2018 в 11:57 в: python
Примечание. Не дублируется из получения текущего идентификатора пользователя во Flask .

Я использую flask_login и flask, поэтому для получения текущего идентификатора используется только его flask_login.current_user.id. Но проблема возникает, когда я хочу создать переменную с помощью команды, например, в моем app.py:

...
curr_user = flask_login.current_user.iddef function_a(curr_user):
    os.mkdir(path + '/' + curr_user)
    return 'Path created successfully'
...

, что говорит:

AttributeError: у объекта 'NoneType' нет атрибута 'get_id'

Только при запуске (не нужно вызывать, единственное назначение значения для curr_user делает проблему)

Попытка вызова функции с переменными как flask_login.current_user.id и Ive - то же самое.

Проблема в том, что я не могу получить идентификатор пользователя в целом (в запущенном app.py экземпляр), и что нужно контекст. Итак, я попробовал:

with app.test_request_context():

перед назначением, и я получил только None для пользователей и гостей.

Редактировать. Я знаю, что могу просто сделать:

def function_a():
    os.mkdir(path+'/'+flask_login.current_user.id)
    return 'Path created successfully'

Но это был только пример, действительно нужно присваивать значение нелокальной переменной с контекстом.

0 ответов