[Python] Access to Flask Global Variables in Blueprint Apps

Discussão em 'Python' iniciado por Stack, Março 13, 2025.

  1. Stack

    Stack Membro Participativo

    my source code has this structure:

    main.py:

    from flask import Flask, g
    app = Flask(__name__)
    with app.app_context():
    g.my_db = PostgreSQL()
    app.register_blueprint(my_app, url_prefix="/my_app")


    my_app.py:

    from flask import Blueprint, g
    my_app = Blueprint("my_app", __name__)
    @my_app.route("/")
    def index():
    return g.my_db.fetch_all() <<< ERROR


    but it shows this error:

    AttributeError: '_AppCtxGlobals' object has no attribute 'my_db'

    Even when I try to use g outside of app context, it shows this error:

    RuntimeError: Working outside of application context.

    So how to set and access to global variables in Flask?

    Continue reading...

Compartilhe esta Página