【发布时间】:2019-06-09 20:46:32
【问题描述】:
我正在尝试导入数据库并收到错误“无法导入名称 'db'”。我已经看到了有关此类问题的答案,但对我的情况没有任何帮助。 我的项目树:
chat
| chat.py
└─ app
│ models.py
│ __init__.py
│
├─── main
│ events.py
│ forms.py
│ routes.py
│ __init__.py
聊天.py:
from app import create_app, socketio
app = create_app(debug=True)
if __name__ == '__main__':
socketio.run(app)
app\init.py:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_socketio import SocketIO
socketio = SocketIO()
def create_app(debug=False):
app = Flask(__name__)
app.debug = debug
app.config['SECRET_KEY'] = 'gjr39dkjn344_!67#'
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql:///site.db'
db = SQLAlchemy(app)
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)
socketio.init_app(app)
return app
app\main\init.py:
from flask import Blueprint
main = Blueprint('main', __name__)
from . import routes, events
app\models.py:
from app import db
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(15), nullable=False)
session_id = db.Column(db.String(200), nullable=False)
isready = db.Column(db.Boolean, default='False')
room = db.relationship('Room', backref='spy')
def __repr__(self):
return f"User('{self.username}')"
所以,当我在 python 终端中尝试from app import db 时,我得到了
ImportError: 无法导入名称 'db'
由于我是烧瓶(和网络)的新手,我不知道该怎么做。我试过this solution(有点接近我的情况)和所有类似的答案,但它没有用。 我可以尝试什么?
【问题讨论】:
标签: python flask import sqlalchemy