(Контекст: я все еще новичок как в Django, так и в веб-разработке.)
1) Может ли кто-нибудь объяснить причину следующего утверждения? This Q/ A ответил на вопрос как с этим справиться, но не на вопрос, почему это может быть хорошей/плохой идеей.
Документация гласит: "Страница_не_найдена view должно хватить для 99% веб-приложений, но если вы хотите переопределить его, вы можете указать handler404 в своем URLconf".
То есть представление page_not_found передает только запрошенный URL-адрес и игнорирует любое сообщение, которое вы предоставляете при возникновении исключения. Мне кажется, что наличие опции для предоставления полезных подсказок к шаблону 404.html по умолчанию было бы хорошо для всех.
2) В настоящее время я создаю собственное представление, чтобы передавать полезные сообщения для следующей ситуации. Есть ли причина, по которой я не должен?
Я использую матричные URL-адреса, поэтому базовый ресурс представляет собой обычный иерархический URL-адрес, за которым следуют параметры матрицы в базовом формате: ;filter_type1=item:value,item:value;filter_type2=item:value...
Таким образом, довольно легко предоставлять полезные сообщения в зависимости от того, как далеко продвинулся синтаксический анализ, прежде чем возникла ошибка. Мне кажется полезным передать сообщение, подобное следующему:
- «Разрешенные типы_фильтров: тип1, тип2, тип3». или
- «Разрешенные элементы для filter_type a: item1, item2, item3».
Извините, если я пропустил это объяснение в другом месте. Я посмотрел и спросил google django-users, но не получил ответов.