Разные 404 страницы в зависимости от приложения в Джанго - PullRequest
5 голосов
/ 22 февраля 2010

Мы разрабатываем проект с несколькими приложениями, использующими Django. Он разделяет базу данных, но имеет несколько приложений, ориентированных на разных пользователей. Грубо говоря, администраторы и конечные пользователи. Пользовательский интерфейс каждого приложения очень отличается. Мне нужно создать страницу с ошибкой 404, но мне кажется, что я могу создать только одну для всего проекта. Я хотел бы создать различные шаблоны 404 и иметь возможность показывать их в зависимости от приложения (URL), которое запрашивает пользователь ...

Для обычного, явно недействительного URL это просто, но в коде есть другие способы запуска исключений, например get_object_or_404 вызовы.

Кто-нибудь знает способ сделать это?

Ответы [ 2 ]

4 голосов
/ 22 февраля 2010

Напишите 404 , установив handler404, а не просто шаблон. В этом представлении, попытайтесь выяснить из URL, какой 404 вы должны показать, и визуализируйте это.

4 голосов
/ 22 февраля 2010

Это совсем не так, что вы можете создать только одну страницу 404 для всего приложения. Документация объясняет, как вы можете создать конкретное представление обработчика 404, которое, конечно, может посмотреть на значение request.path, чтобы увидеть, какой URL был запрошен, и отобразить соответствующий шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...