0
Я хочу использовать Flask-JWT с моим приложением. Когда я пытаюсь инициализировать его current_app
, я получаю сообщение об ошибке. До этого момента я использовал current_app
вместо app = Flask(__name__)
, так что это было немного неожиданно. Есть что-то, что мне не хватает?Flask-JWT, похоже, не распознает current_app
from flask import current_app
from flask_jwt import JWT
def authenticate(username, password):
...
return user
def identity(payload):
...
return userid_table.get(user_id, None)
jwt = JWT(current_app, authenticate, identity)
Traceback (most recent call last):
File "./wsgi.py", line 1, in <module>
from main import app as application
File "./main.py", line 5, in <module>
from auth import api_auth
File "./auth.py", line 59, in <module>
jwt = JWT(current_app, authenticate, identity)
File "/opt/mist_base/env/lib/python2.7/site-packages/flask_jwt/__init__.py", line 216, in __init__
self.init_app(app)
File "/opt/mist_base/env/lib/python2.7/site-packages/flask_jwt/__init__.py", line 220, in init_app
app.config.setdefault(k, v)
File "/opt/mist_base/env/lib/python2.7/site-packages/werkzeug/local.py", line 343, in __getattr__
return getattr(self._get_current_object(), name)
File "/opt/mist_base/env/lib/python2.7/site-packages/werkzeug/local.py", line 302, in _get_current_object
return self.__local()
File "/opt/mist_base/env/lib/python2.7/site-packages/flask/globals.py", line 51, in _find_app
raise RuntimeError(_app_ctx_err_msg)
RuntimeError: Working outside of application context.
Что вы ожидаете от текущего пользователя? (Он не настроен ни на что вне запроса.) Почему вы не передаете свое фактическое приложение при инициализации расширения? – davidism
Это то, что у меня в main.py: 'из опоки импорта Колба, Blueprint, render_template, сессии, перенаправлять, url_for, бежать, запрос, прервать ... приложение = Колба (__ name__) app.config .from_pyfile ("./ config.py") ... app.register_blueprint (api_auth) ' До этого момента я находился под впечатлением. Колба автоматически распространяла контекст приложения через current_app. Я могу видеть мои постоянные значения в моих узлах Blueprint при обновлении config.py. – goterpsgo