Какие подводные камни могут быть у добавления ссылок в Django Admin changelist?

Основные риски — XSS в HTML, неверные URL, утечка доступа и N+1 запросы на связанных объектах. Ссылку нужно строить безопасно и отдельно проверять права на целевую страницу.

Короткий ответ

Что ответить на собеседовании

Основные риски — XSS в HTML, неверные URL, утечка доступа и N+1 запросы на связанных объектах. Ссылку нужно строить безопасно и отдельно проверять права на целевую страницу.

Подробный разбор

Ответ с пояснениями

Основные риски — XSS в HTML, неверные URL, утечка доступа и N+1 запросы на связанных объектах. Ссылку нужно строить безопасно и отдельно проверять права на целевую страницу.

Используйте reverse для внутренних маршрутов и format_html с аргументами вместо mark_safe от конкатенации пользовательского текста. Проверьте list_display_links, конфликты с редактируемыми колонками и сортировку. Для связанных данных настройте select_related или prefetch_related, а внешний URL ограничьте разрешёнными схемами. Скрытая ссылка не заменяет серверную авторизацию; пользователь может открыть адрес вручную.

Источник: docs.djangoproject.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее