在关闭此重复项之前,请查看该问题。
我正在使用以下ORM模型完成python教程。
from views import db
import datetime
class Task(db.Model):
__tablename__ = "tasks"
task_id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False)
due_date = db.Column(db.Date, nullable=False)
priority = db.Column(db.Integer, nullable=False)
status = db.Column(db.Integer)
def __init__(self, name, due_date, priority, status):
self.name = name
self.due_date = due_date
self.priority = priority
self.status = status
def __repr__(self):
return '<name {0}>'.format(self.name)
配置文件定义如下:
import os
basedir = os.path.abspath(os.path.dirname(__file__))
DATABASE = 'flasktaskr.db'
USERNAME ='admin'
PASSWORD = 'admin'
CSRF_ENABLED = True # cross site request forgery prevention
SECRET_KEY = 'secret' # used in conjunction wth CSR
SQLALCHEMY_TRACK_MODIFICATIONS = False
DATABASE_PATH = os.path.join(basedir, DATABASE)
SQLAlCHEMY_DATABASE_URI = 'sqlite:///' + DATABASE_PATH
该视图按如下所示初始化应用程序:
app = Flask(__name__)
app.config.from_object('_config')
db = SQLAlchemy(app)
在执行应用程序之前,必须使用以下方法创建数据库。该代码运行无异常,但是未创建数据库。我已经跟踪了代码,并验证了SQLAlCHEMY_DATABASE_URI设置正确。
from views import db
from models import Task
from datetime import date
from models import Task
db.create_all()
db.session.add(Task("Finish this tutorial", date(2019, 6, 22), 10, 1))
db.session.add(Task("Finish Real Python", date(2019, 6, 25), 10, 1))
db.session.commit()
基于此信息,什么会阻止在文件系统上创建我的数据库?
答案 0 :(得分:0)
验证拼写是否仅在此帖子中,或者也在代码中:SQLAlCHEMY_DATABASE_URI应该为SQLALCHEMY_DATABASE_URI(所有大写字母