将 Flask 应用拆分为多个文件;模块导入问题

Splitting Flask app into several files; Trouble with module importing

我正在尝试将 Flask 应用程序拆分为多个文件,但我在导入所有模块时遇到了问题。

希望有人能阐明这个问题...

这是我得到的错误:

NameError: global name 'db' is not defined

http://i.imgur.com/nU0ZriI.png

我有这个 file/folder 结构:

├── Pluto
│   ├── __init__.py
│   ├── pluto_admin.py
│   ├── pluto.db
│   ├── pluto_db.py
│   ├── pluto_home.py
│   ├── static
│   │   ├── css
│   │   ├── fonts
│   │   ├── img
│   │   └── js
│   └── templates
└── run.py

初始化.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

也许您必须将此添加到 pluto_home.py

from pluto_db import db