Skip to content Skip to sidebar Skip to footer

Nameerror When Splitting App And Views Code

I want to divide my code into two parts, the app initialization and the view definitions. I import my views and define my app, but I get NameError: name 'manager' is not defined.

Solution 1:

You created a circular import: first you import viewports, which imports manager, which is only defined after you import viewports. You also didn't organize your code correctly, everything should be under one package. You also confused creating a Flask-Script manager with creating a Flask app. Also, flask.ext is deprecated, import directly from the package name.

my_project/
    my_app/
        __init__.py
        views.py
    manage.py

__init__.py:

from flask importFlaskfrom flask_script importManager

app = Flask(__name__)
manager = Manager(app)

from my_app import views

views.py:

from my_app import app

@app.route('/')defindex():
    return'Hello, World!'

manage.py:

from my_app import manager

manager.run()

Post a Comment for "Nameerror When Splitting App And Views Code"