Улучшения и исправления для приложения Main
В приложении main обнаружены и запланированы к исправлению следующие проблемы и недостатки:
Сбой тестирования из-за некорректного файла
test.py: Файл содержал одну незавершённую строкуtest, из-за чего ломался импорт и вся тестовая система Django не запускалась. (Файл уже удалён).Ошибка фильтрации в админке: Класс
FileExistsFilterвadmin_files.pyвозвращал Python-список вместо DjangoQuerySet, что приводило к сбою при пагинации, сортировке или других операциях.Отсутствие тестов: В приложении
mainне было реализовано ни одного юнит-теста.Ошибки рендеринга JSON-LD: В шаблоне
contacts.htmlразметкаbreadcrumbs_jsonldрендерится без фильтра|safe, из-за чего двойные кавычки экранируются в", делая JSON невалидным.Отсутствие разметки Breadcrumbs JSON-LD на других страницах: Переменная
breadcrumbs_jsonldпередаётся в контекстPageDetailViewиSearchView, но не выводится в соответствующих шаблонах (page_detail.htmlиsearch_results.html).
User Review Required
NOTE
Исправление фильтра FileExistsFilter в файловом менеджере админ-панели сделает его более стабильным и предотвратит ошибки базы данных при переходе по страницам отфильтрованного списка. Добавление юнит-тестов позволит покрыть ключевые модели, валидацию форм и работу представлений (включая режим обслуживания сайта).
Proposed Changes
Main App
[MODIFY] admin_files.py
Изменить метод
querysetвFileExistsFilter, чтобы он возвращал отфильтрованный по IDQuerySet, а не Python-список.
[MODIFY] tests.py
Написать тесты для:
Модели настроек
SiteSettings(синглтон, валидация полей).Модели статических страниц
Page(валидация зарезервированных слагов, методыget_previous_pageиget_next_page).Формы обратной связи
ContactForm(валидация длины имени и сообщения).Представлений
IndexView,PageDetailView,ContactView(включая проверкуMaintenanceMixinпри закрытии сайта).Хелперов модели
ManagedFile(размер файлов).
[MODIFY] contacts.html
Добавить фильтр
|safeдля рендерингаbreadcrumbs_jsonldвнутри тега<script>.
[MODIFY] page_detail.html
Добавить вывод разметки
breadcrumbs_jsonldв блокextra_head.
[MODIFY] search_results.html
Добавить вывод разметки
breadcrumbs_jsonldв блокextra_head.
Verification Plan
Automated Tests
Запуск тестов Django:
bash
..\.venv\Scripts\python.exe manage.py test main
Обсуждение статьи
0К этой статье пока нет комментариев. Будьте первым, кто выразит свое мнение!
Оставить комментарий
Связанные новости
4Похожие материалы
Улучшению приложения main
План реализации: Премиальный космический дизайн и инновационный интерфейс панели администратора
План реализации: Перевод описаний на русский и новые премиальные стилевые решения
Улучшения и новые возможности для приложения News