我正在学习如何在flask中使用SQLalchemy和数据库。我遵循一个教程,它使用以下类和文件。
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database
from app.models import User
>>> u = User(username='susan', email='susan@example.com')
>>> u
<User susan>
我的问题是无法显示相同的输出。我的意思是,当我编写语句时,我会出错
来自应用程序。模型导入用户
导入错误:没有名为app的模块。模型
请告诉我如何调整发布的代码,以便我可以从数据库中检索数据
:
d:\xxx\xxx\db1\app\models
d:\xxx\xxx\db1\__init__
d:\xxx\xxx\db1\config
**
初始化
**:
from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
from app import routes, models
配置
:
import os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config(object):
# ...
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
'sqlite:///' + os.path.join(basedir, 'app.db')
SQLALCHEMY_TRACK_MODIFICATIONS = False
模型
from app import db
from app.models import User
class User(db.Model):
id = db.Column(db.Integer, primaty_key=True)
username = db.Column(db.String(64), index=True, unique=True)
email = db.Column(db.String(120), index=True, unique=True)
password_hash = db.Column(db.String(128))
def __repr__(self):
return '<User {}>'.format(self.username)