我的数据库没有被创建(flask-sqlalchemy)
问题描述:
基本上我正在尝试使用flask-sqlalchemy制作一个Flask应用程序。我想先将一堆数据加载到我的数据库(database.py)中。但是,我无法得到这个工作,甚至创建myapp.db文件。我的数据库没有被创建(flask-sqlalchemy)
我没有收到错误,但myapp.db文件没有被创建。
>>> db.engine
Engine(sqlite://)
上面应该是我的东西,我很确定。
我简化了代码,使其更加简洁。
在这里,我有我的应用程序:
from flask import Flask
import os
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db_path = os.path.join(os.path.dirname(__file__), 'myapp.db')
db_uri = 'sqlite:///{}'.format(db_path)
SQLALCHEMY_DATABASE_URI = db_uri
db = SQLAlchemy(app)
from views import *
if __name__ == '__main__':
app.secret_key = os.urandom(12)
app.run(debug=True)
我想运行我database.py载入我的所有数据 - 这在我的脑海里应该建立一个myapp.db文件??:
from flask_sqlalchemy import SQLAlchemy
import os
import re
from myapp import app
from models import *
## Creates our database
db.create_all()
username = test
password = test
user = User(username=username, password=password)
db.session.add(user)
db.session.commit()
这里是我的models.py
from flask_sqlalchemy import SQLAlchemy
from myapp import app
# create a new SQLAlchemy object
db = SQLAlchemy(app)
class User(db.Model):
""""""
__tablename__ = "users"
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String, nullable=False)
password = db.Column(db.String, nullable=False)
答
更改
SQLALCHEMY_DATABASE_URI = db_uri
到
app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
固定它。
请注意,您不应该创建多个单独的'db'对象。在应用程序中定义的'db.Model'不会包含模型等的声明类。 –