Flask python app failing to get app object after initializing -


app_instance.py

from app import flaskapp  app = none   def init_instance(env):     global app     app = flaskapp(env)   def get_instance():     assert app not none     return app 

flaskapp class pretty this

class flaskapp(object):      def __init__(self, env):         self.oauth_manager = .... bla bla ..         self.clients_manager = .. bla bla ..          app = flask(__name__)             app.config.from_object(env)             app = app_wrapper.wrap(app, app.config['num_proxy_servers'])             self.app = app          self.api = api(self.app, prefix='/v3', default_mediatype='application/json')         self.define_routes()         # initialize db         self.db = database(self.app)          fmt = "%(asctime)s - %(request_id)s - %(name)s - %(levelname)s - %(message)s"         logging.basicconfig(format=fmt, level=self.app.config.get('log_level'))             request_id.init(app, prefix='my_api_', internal=false)      def run_server(self):         self.app.run(host=self.app.config['host'], port=self.app.config['port'], debug=self.app.config['debug'])      def define_routes(self):         # configure api resources         self.api.add_resource(versionlistcontroller, '/my/route', endpoint='versions')         more routes here          self.api.init_app(self.app) 

in app controller

def is_valid_oauth_token(request):     mobile_module import app_instance      app = app_instance.get_instance()     # more code here 

i'm running app on localhost , getting

    assert app not none assertionerror 

how can "fix" code? should importing from mobile_module import app_instance in every route access? suggestions please

i should state app works in production behind nginx

i guess question more python (how make work) , less in flask.

the problem not related get_instance or init_instance(create_app etc.).

flask has different states. app work in out of request context when initialize app instance(flaskapp(env)).

as see in example, try application in context of request(def is_valid_oauth_token(request)). means not initialization of application. processing while request active. other state of application - app created , work in context of request. in case can application instance using from flask import current_app.

to better understanding how works/use recommend read flask._app_ctx_stack, app_context() , flask.g.

hope helps.


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -