You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iTi-Flask/copier-template/app/app_factory.py.jinja

28 lines
794 B
Django/Jinja

from __future__ import annotations
import os
from iti import create_app as create_framework_app
{% if include_system %}
from iti_system import create_system_module
{% endif %}
from config import config
from app.modules.example.module import ExampleModule
def create_app(config_name: str | None = None, config_overrides: dict | None = None):
config_name = config_name or os.getenv("APP_ENV", "dev")
modules = [ExampleModule()]
{% if include_system %}
modules.append(create_system_module())
{% endif %}
app = create_framework_app(
config_name=config_name,
config_mapping=config,
modules=modules,
)
if config_overrides:
for key, value in config_overrides.items():
setattr(app.state.config, key.lower(), value)
return app