我正在尝试将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
答案 0 :(得分:1)
也许您必须将此添加到pluto_home.py
from pluto_db import db