Reputation: 161
I'm trying to split a Flask app into several files and I've hit a snag with all the module imports.
Hopefully someone can shed some light o this issue...
This is the error I get:
NameError: global name 'db' is not defined
https://i.sstatic.net/6fqKr.png
I have this file/folder structure:
├── Pluto
│ ├── __init__.py
│ ├── pluto_admin.py
│ ├── pluto.db
│ ├── pluto_db.py
│ ├── pluto_home.py
│ ├── static
│ │ ├── css
│ │ ├── fonts
│ │ ├── img
│ │ └── js
│ └── templates
└── run.py
init.py:
from flask import Flask
pluto = Flask(__name__)
""" imports """
import Pluto.pluto_db
import Pluto.pluto_home
import Pluto.pluto_admin
pluto_db.py:
from Pluto import pluto
from flask.ext.sqlalchemy import SQLAlchemy
pluto.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////var/www/flask/pluto_dev/Pluto/pluto.db"
db = SQLAlchemy(pluto)
""" MODELS """
class Users(db.Model):
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True, unique=True)
email = db.Column(db.String(254), unique=True, nullable=False)
nume = db.Column(db.String(64), nullable=False)
prenume = db.Column(db.String(64), nullable=False)
def __repr__(self):
return "<User %r>" % (self.email)
pluto_home.py:
from Pluto import pluto
@pluto.route("/")
def index():
users = db.Users.query.all()
return users
Upvotes: 0
Views: 77