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

时间:2015-11-20 10:35:59

标签: python import flask sqlalchemy models

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

希望有人可以解决这个问题......

这是我得到的错误:

NameError: global name 'db' is not defined

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

我有这个文件/文件夹结构:

├── 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

1 个答案:

答案 0 :(得分:1)

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

from pluto_db import db