0
기본적으로 flask-sqlalchemy를 사용하여 Flask 앱을 만들려고합니다. 우선 데이터베이스 (database.py)에 많은 양의 데이터를로드하려고합니다. 그러나이 작업을 수행하거나 심지어 myapp.db 파일을 만들 수 없습니다.데이터베이스가 작성되지 않았습니다 (flask-sqlalchemy)
오류가 발생하지 않지만 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)
당신이하고있는 것처럼 여러개의'db' 객체를 생성해서는 안된다는 것에주의하십시오. app에 정의 된'db.Model'은 예를 들어 모델 등의 선언 클래스를 포함하지 않을 것입니다. –