Инструменты для работы с оценками, замечаниями и похвалой в школьном электронном дневнике.
Это скрипты, которые помогут:
- Исправить плохие оценки (двойки и тройки)
- Удалить замечания
- Добавить похвалу от учителя
Важно: Скрипты работают только если у вас уже есть доступ к серверу электронного дневника и настроен Django-проект.
- Перейдите в репозиторий: ссылка на GitHub
- Скачайте файл
scripts.py - Поместите его в папку рядом с
manage.py(корень проекта)
# Откройте терминал и перейдите в папку проекта
cd путь/к/проекту
# Запустите Django shell
python manage.py shellСкопировать содержимое файла scripts.py и вставить в консоль
нажать Enter
или
# 1. Скопируйте строку:
from scripts import *
# 2. Найдите себя по имени
schoolkid = get_child('Иванов Иван')
# 3. Посмотрите, сколько плохих оценок
bad_marks = get_bad_marks(schoolkid)
print(f'Найдено плохих оценок: {bad_marks.count()}')
# 4. Исправьте оценки (двойки > четвёрки, тройки > пятёрки)
fix_marks_bulk(schoolkid)
# 5. Удалите замечания
remove_chastisements(schoolkid)
# 6. Добавьте похвалу за любой предмет ('Музыка')
create_commendation(schoolkid, 'Математика')- Откройте сайт электронного дневника
- Найдите себя в списке учеников
- Убедитесь, что:
- Двойки и тройки исправлены
- Замечания удалены
- Появилась похвала
Чтобы помочь другу, замените имя в команде:
# Найдите друга по имени
schoolkid = get_child('Петров Петр')
# Исправьте оценки
fix_marks_bulk(schoolkid)
# Удалите замечания
remove_chastisements(schoolkid)
# Добавьте похвалу
create_commendation(schoolkid, 'Физика')Проверка: Откройте сайт и убедитесь, что у друга исправлены оценки.
Скрипт можно запускать многократно в течение учебного года:
# Каждый раз запускайте shell и выполняйте команды
python manage.py shellЧто изменится:
- Похвала будет разной (выбирается случайно из 30 вариантов)
- Похвала привязывается к последнему уроку по предмету (не накапливается)
Если вы допустите ошибку, скрипт сообщит об этом понятным сообщением.
get_child('Симён') # Опечатка в имениОтвет скрипта:
Ученик с именем "Симён" не найден.
Что делать: Проверьте правильное ФИО в электронном дневнике и повторите.
get_child('Иванов') # Найдено несколько ИвановыхОтвет скрипта:
Найдено несколько учеников с именем "Иванов". Используйте полное ФИО ученика.
Что делать: Укажите полное ФИО, например: 'Иванов Иван Иванович'
get_child('') # Пустая строкаОтвет скрипта:
Ученик с именем "" не найден.
Что делать: Введите имя ученика.
create_commendation(schoolkid, 'Матиматика') # ОпечаткаОтвет скрипта:
Предмет "Матиматика" не найден.
Что делать: Проверьте правильное название предмета в дневнике.
| Функция | Что делает |
|---|---|
get_child(name) |
Найти ученика по имени (0 или >1 совпадений → None) |
get_marks(schoolkid) |
Получить все оценки ученика |
get_bad_marks(schoolkid) |
Получить плохие оценки (2 и 3) |
fix_marks_cycl(schoolkid) |
Исправить оценки через .save() |
fix_marks_bulk(schoolkid) |
Исправить оценки через bulk_update() (быстрее) |
remove_chastisements(schoolkid) |
Удалить все замечания ученика |
create_commendation(schoolkid, subject) |
Добавить похвалу за предмет |
# Импортировать в Django shell
from scripts import *
# Или импортировать в manage.py
import scripts
# Получить ученика
schoolkid = scripts.get_child('Иванов Иван')
# Исправить оценки
scripts.fix_marks_bulk(schoolkid)
# Добавить похвалу
scripts.create_commendation(schoolkid, 'Математика')Поместить scripts.py рядом с manage.py:
project/
├── manage.py
├── scripts.py
└── your_project/
get_child()— при нескольких совпадениях вернётNone, используйте полное ФИОfix_marks_bulk()— не вызывает сигналы моделей, проверить можноget_bad_marks(schoolkid)или посмотреть на сайте электронного дневникаcreate_commendation()— использует последний урок по дате- Для работы требуется развёрнутый сайт электронного дневника и доступ к БД
- Репозиторий скриптов: ссылка на этот репозиторий
- Репозиторий электронного дневника: ссылка на дневник
Код написан в образовательных целях для изучения Django ORM (курс dvmn.org).