39 lines
985 B
Python
39 lines
985 B
Python
from flask import Flask
|
|
import os
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
from flask_login import LoginManager
|
|
|
|
db = SQLAlchemy()
|
|
login_manager = LoginManager()
|
|
|
|
def create_app():
|
|
app = Flask(__name__)
|
|
|
|
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
|
|
|
|
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + os.path.join(BASE_DIR, "app.db")
|
|
app.config["SECRET_KEY"] = "dev-secret-key"
|
|
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
|
|
|
|
db.init_app(app)
|
|
login_manager.init_app(app)
|
|
login_manager.login_view = "login.login"
|
|
|
|
from .models.user import User
|
|
from .models.gamestate import GameState
|
|
|
|
with app.app_context():
|
|
db.create_all()
|
|
|
|
@login_manager.user_loader
|
|
def load_user(user_id):
|
|
return db.session.get(User, int(user_id))
|
|
|
|
from .routes.login_routes import login_bp
|
|
from .routes.main_routes import main_bp
|
|
|
|
app.register_blueprint(login_bp)
|
|
app.register_blueprint(main_bp)
|
|
|
|
return app
|