我想用 SQLAlchemey 创建一个数据库,但我一直陷入同样的错误,我不知道如何解决它或我做错了什么。
我的代码和我的终端
应用程序.py
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite'
app.config['SQLALCHEMY_TRACK_MODI'] = False
db = SQLAlchemy(app)
class Item(db.Model):
name = db.Column(db.String(100))
@app.route("/")
def home():
return render_template('home.html')
if __name__ == '__main__':
app.run()
db.create_all()
该错误表明您正在应用程序上下文之外工作。
if __name__ == '__main__':
with app.app_context():
db.create_all()
app.run()
此代码将在应用程序上下文中访问
db
。请参阅应用程序上下文的文档。
为了对数据库条目进行唯一分配,您需要一个定义为主键的列。使用此键可以查找和引用条目。
class Item(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100))