Перейти до змісту

Швидкий старт за 5 хвилин

Покрокова інструкція зі створення та запуску сайту закладу освіти з нуля.


Крок 0. Встановлення пакету

Встановіть офіційний пакет фреймворку через pip:

pip install django-school-framework

Після цього у вашому терміналі стане доступною команда school-admin.


Крок 1. Створення каркасу проєкту

За допомогою CLI створіть новий проєкт:

school-admin startproject my_school
cd my_school

Починаючи з версії фреймворку 0.2.7, можна вибрати макет фронтенду вже тут:

school-admin startproject my_school --frontend-template editorial
cd my_school

У такому разі одразу з'явиться тека frontend/. Звичайний startproject створює лише Django-проєкт; фронтенд можна додати на кроці 6.

Якщо прапорець недоступний, перевірте версію через python -m pip show django-school-framework та оновіть пакет командою python -m pip install --upgrade django-school-framework.

Ця команда створить структуру Django-проєкту з підключеними модулями: * config/settings.py — вже містить усі підключені додатки, CORS та CSRF_TRUSTED_ORIGINS. * config/urls.py — налаштовані маршрути до REST API та панелі керування. * manage.py — стандартний диспетчер Django.


Крок 2. Ініціалізація бази даних

Застосуйте початкові міграції для створення таблиць:

python manage.py migrate

Буде створено понад 20 таблиць для профілю закладу, ліцензій, кошторисів, меню, розкладу, фотоальбомів тощо.


Крок 3. Наповнення реквізитами закладу

Зареєструйте заклад освіти за допомогою CLI:

school-admin create-school "Гімназія №1" \
  --edrpou 12345678 \
  --founder "Міська рада" \
  --city "м. Київ" \
  --address "вул. Освіти, 1" \
  --capacity 1000 \
  --actual 920 \
  --language "Українська" \
  --primary-color "#1e3a8a"

Команда автоматично створить або оновить єдиний синглтон-запис SchoolProfile.


Крок 4. Генерація демонстраційних даних (Опціонально)

Щоб побачити, як виглядає заповнений сайт з ліцензіями, меню, звітами та розкладом:

school-admin seed-data

Команда наповнить базу демонстраційними записами. Перед публікацією замініть їх справжніми даними закладу.


Крок 5. Створення облікового запису адміністратора

Створіть суперкористувача для входу в панель керування:

python manage.py createsuperuser
python manage.py setup_school_roles

Введіть логін, email та пароль.


Крок 6. Генерація сучасного React-фронтенду

Якщо на кроці 1 ви не використали --frontend-template, згенеруйте готовий фронтенд на базі React 19, власного CSS та Vite:

school-admin create-frontend

Типовий макет classic має темно-синю шапку та світлу навігацію. Для іншого оформлення виберіть editorial або portal:

school-admin create-frontend --template portal

Опис усіх трьох варіантів є в огляді фронтенду. Прапорці вибору макета потребують django-school-framework 0.2.7 або новішої.

CLI створить теку frontend/ з вихідним кодом, елементами доступності та налаштованим проксі. Якщо фронтенд уже створено на кроці 1, пропустіть команду create-frontend і перейдіть до встановлення залежностей.

Встановіть залежності фронтенду:

cd frontend
npm install
cd ..

Крок 7. Запуск сайту

Вам знадобиться два вікна терміналу:

python manage.py runserver
Бекенд працюватиме за адресою: http://127.0.0.1:8000

cd frontend
npm run dev
Сайт відкриється за адресою: http://localhost:5173


🎉 Вітаємо!

Ваш офіційний сайт закладу освіти готовий до роботи: * Публічна сторінка: http://localhost:5173/ * Панель керування (Адмінка): http://127.0.0.1:8000/admin/ * Документація REST API (Swagger): http://127.0.0.1:8000/api/docs/