Конфігурація проєкту
school-admin startproject створює config/settings.py та .env.example. Згенерований Django-проєкт не завантажує .env автоматично: передайте змінні процесу через оболонку, Docker Compose чи менеджер сервісів. Не комітьте файл із секретами.
Локальна розробка
Без додаткових налаштувань Django використовує SQLite. Після python manage.py migrate і python manage.py runserver панель керування доступна на http://127.0.0.1:8000/admin/. Фронтенд Vite запускайте окремо; адреса бекенду для його проксі задається під час генерації через school-admin create-frontend --api-url http://127.0.0.1:8000.
Налаштування сервера
У згенерованих config/settings.py можна передати DEBUG, DJANGO_SECRET_KEY, ALLOWED_HOSTS, CORS_ALLOWED_ORIGINS, CSRF_TRUSTED_ORIGINS, TRUST_X_FORWARDED_PROTO та налаштування HSTS через змінні середовища. При DEBUG=False секретний ключ і дозволені хости обов'язкові.
Генератор використовує DB_ENGINE і DB_NAME, але для зовнішньої СУБД потрібно доповнити DATABASES у власному config/settings.py параметрами USER, PASSWORD, HOST, PORT. Наприклад, для PostgreSQL встановіть відповідний драйвер і налаштуйте словник default за документацією Django. Самого додавання DB_USER до .env недостатньо. Наявний Docker Compose у репозиторії фреймворку має окрему конфігурацію MySQL для локальної розробки.
Перед публікацією сайту налаштуйте HTTPS на проксі, передайте секрети поза Git та виконайте python manage.py check --deploy. Вмикайте TRUST_X_FORWARDED_PROTO=True лише якщо ваш довірений проксі перезаписує заголовок X-Forwarded-Proto. HSTS вмикайте після перевірки HTTPS. Дивіться розгортання.
Ролі та бренд
Після міграцій виконайте python manage.py setup_school_roles, створіть користувача й призначте йому is_staff та потрібну групу в Django Admin. Матриця ролей пояснює доступ до кожного розділу. Колір і реквізити можна змінювати в профілі закладу або через school-admin create-school.