2017-10-22 125 views
0

基本上我正在嘗試使用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) 

回答

0

更改

SQLALCHEMY_DATABASE_URI = db_uri 

app.config['SQLALCHEMY_DATABASE_URI'] = db_uri 

固定它。

+1

請注意,您不應該創建多個單獨的'db'對象。在應用程序中定義的'db.Model'不會包含模型等的聲明類。 –