Аудиоверсия статьи
Слушать текст в один клик
Скорость:
✅ System check identified no issues (0 silenced). — все изменения корректны.
Итог — что было сделано
🔴 Критические баги (исправлены)
| # | Файл | Что сделано |
|---|
| #1 | models.py | Удалён дублирующий @receiver(post_save) — теперь сигнал существует только в signals.py |
| #2 | signals.py | Небезопасный instance.profile.save() заменён на get_or_create — больше нет риска RelatedObjectDoesNotExist |
| #3 | utils.py | Добавлены недостающие импорты messages и redirect — убран NameError |
🟠 Высокий приоритет (реализован)
| # | Файл | Что сделано |
|---|
| #4 | backends.py | Добавлен logger + warning при MultipleObjectsReturned |
| apps.py | — | Добавлен метод ready() → import accounts.signals — сигналы теперь регистрируются гарантированно |
| #12 | urls.py + 4 шаблона + 2 email-шаблона | Полный flow восстановления пароля (4 шага) |
| #16 | models.py | UserProfile.save() с Pillow: автообрезка аватара до квадрата 200×200 |
🟡 Средний приоритет (реализован)
| # | Файл | Что сделано |
|---|
| #8 | views.py | Удалены get_reviews_count / get_comments_count, использован get_user_statistics() из utils.py |
| #17 | views.py + ticket_list.html | Поиск по теме + фильтр по статусу (Открытые / В обработке / Закрытые) |
🟢 Новые функции (добавлены)
| # | Файл | Что сделано |
|---|
| #14 | views.py + urls.py + delete_account.html | Мягкое удаление аккаунта с подтверждением паролем |
| #15 | views.py + profile.html | В профиле показываются open_tickets и closed_tickets отдельно |
| #19 | models.py + profile.html | UserProfile.role_display property, используется в hero-бейдже и сводке |
Обсуждение статьи
0К этой статье пока нет комментариев. Будьте первым, кто выразит свое мнение!
Оставить комментарий
Связанные новости
10Похожие материалы
Улучшению приложения main
Исправления и улучшения Admin-панели
Результаты рефакторинга файловой структуры, шаблонов и стилей проекта
Я обновил шаблоны страниц «Портфолио» и «Услуги»