Watching a tutorial and trying to import a database(db) from another python file. It was working fine but now I am getting this error, commenting out my own additions and still not working.
models.py
from . import db
from flask_login import UserMixin
from sqlalchemy.sql import func
from sqlalchemy.sql import expression
class Note(db.Model):
id = db.Column(db.Integer, primary_key=True)
data = db.Column(db.String(10000))
date = db.Column(db.DateTime(timezone=True), default=func.now())
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(150), unique=True)
password = db.Column(db.String(150))
first_name = db.Column(db.String(150))
notes = db.relationship('Note')
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from os import path
from flask_login import LoginManager
db = SQLAlchemy()
DB_NAME = "database.db"
init.py
def create_app():
app = Flask(name)
db_path = path.join(path.dirname(file), DB_NAME)
db_uri = 'sqlite:///{}'.format(db_path)
app.config['SECRET_KEY'] = 'hjshjhdjah kjshkjdhjs'
app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
db.init_app(app)
from .views import views
from .auth import auth
app.register_blueprint(views, url_prefix='/')
app.register_blueprint(auth, url_prefix='/')
from .models import User, Note
login_manager = LoginManager()
login_manager.login_view = 'auth.login'
login_manager.init_app(app)
@login_manager.user_loader
def load_user(id):
return models.User.query.get(int(id))
return app
def create_database(app):
if not path.exists('instance/' + DB_NAME):
with app.app_context():
db.create_all()
print("Database created!")