Мы разрабатываем проект с несколькими приложениями с помощью Django. Это совместно использует базу данных, но это имеет несколько приложений, предназначающихся для различных совсем других пользователей. Примерно, администраторы и заключительные пользователи. UI каждого приложения очень отличается. Я должен создать 404 ошибочных страницы, но кажусь, что могу только создать один для всего проекта. Я хотел бы создать различные 404 шаблона и способность к показанному их в зависимости от приложения (URL), пользователь просит...
Для общего, явно недопустимого URL это легко, но в коде существуют другие способы запустить исключения, как get_object_or_404
вызовы.
Кто-либо знает способ сделать это?
Это совсем не так, что можно создайте только одну страницу 404 для всего приложения. В документации объясняется, как можно создать конкретное представление обработчика 404, которое, конечно, может смотреть на значение request.path
, чтобы узнать, какой URL был запрошен, и отобразить соответствующий шаблон.
Напишите представление 404 , установив handler404
, а не только шаблон. В этом представлении попробуйте вычислить по URL-адресу, какой 404 вы должны показать, и визуализируйте его.