37 lines
745 B
Python
37 lines
745 B
Python
"""
|
|
app/__init__.py
|
|
===============
|
|
Flask application factory.
|
|
|
|
Usage
|
|
-----
|
|
from app import create_app
|
|
flask_app = create_app()
|
|
|
|
Gunicorn (wsgi.py) calls create_app() once at startup.
|
|
The dev-server entry point (run.py) does the same.
|
|
"""
|
|
|
|
from flask import Flask
|
|
|
|
from .config import BASE_DIR, MEDIA_ROOT
|
|
from .db import init_db
|
|
from .routes import register_routes
|
|
|
|
|
|
def create_app() -> Flask:
|
|
"""
|
|
Create and return a configured Flask application instance.
|
|
"""
|
|
flask_app = Flask(
|
|
__name__,
|
|
template_folder=str(BASE_DIR / 'templates'),
|
|
static_folder=str(BASE_DIR / 'static'),
|
|
)
|
|
|
|
# Initialise the SQLite settings database
|
|
init_db()
|
|
|
|
register_routes(flask_app)
|
|
|
|
return flask_app
|