基本上我尝试使用flask-sqlalchemy制作Flask应用程序。我想首先将一堆数据加载到我的数据库(database.py)中。但是,我无法使其工作,甚至无法创建myapp.db文件。
我没有收到错误,但是没有创建myapp.db文件。
>>> db.engine
Engine(sqlite://)
以上应该是myapp的东西,我很确定。
我简化了我的代码,使其更简洁。
我有我的应用程序:
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)
答案 0 :(得分:1)
更改
SQLALCHEMY_DATABASE_URI = db_uri
到
app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
修好了。