Opened 4 years ago

Closed 2 years ago

#16238 closed New feature (wontfix)

TECHNICAL_*_TEMPLATE change

Reported by: haras Owned by: nobody
Component: Core (Other) Version: master
Severity: Normal Keywords:
Cc: djangoproject.com@… Triage Stage: Design decision needed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: yes

Description

Make ability to change TECHNICAL_500_TEMPLATE and TECHNICAL_404_TEMPLATE from django.views.debug

and add

DEBUG_VIEW = 'django.views.debug.tabbed'

or

DEBUG_VIEW = 'django.views.debug.default'

Details:
Make an error display page less verbose.
I mean not to exclude those useful information, but to initially fold (hide) them.

Fold those items:

  • Python path at the top yellow background.
  • (Hide or fold) django traceback entries

When I have a problem I have to scroll down (passing django calls) few pages until I am able to find which MY action caused an error.
I know looking at django callback may be useful, but in my case, hardly ever, and probably for newcommers also.

I am imagining this like that:

At the top of the error page, there are tabs.
Summary, Traceback, Request, Settings, and copy-paste view (feedback view).

Summary tab, contains this yellow background information with PYTHON_PATH initially folded, and traceback filtered out to include only information from project not calls from django itself.

Traceback, request and settings tabs as it is right now, but separated for easy of view.

copy-paste (feedback) - a standardize view for easy of copy-and-paste to the Internet message boards, groups and so on...

It would need a template refactor and some more js involved, should not be a hard thing to do.
I read that there is a plan to redesign an error page, but since then, those modifications should do the job.

discussion at https://groups.google.com/forum/#!topic/django-developers/aQtKMRxdTHM

Change History (5)

comment:1 Changed 4 years ago by aaugustin

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Design decision needed

The discussion on the mailing list didn't reach a consensus. Apparently, the current page is not that bad :) (except for AJAX calls).

This topic often leads to bikeshedding. A significant improvement from the status quo will be necessary to overcome it. I don't think Yet Another Setting is an acceptable as a workaround for the lack of community support.

For the record, #11834 and #16227 are subsets of this.

Note that the 500 template is embedded into the source file for a technical reason (see the source), so it's difficult to simply make it configurable through the standard template loading mechanism.

Finally, the Django Debug Toolbar is currently considered for inclusion in django.contrib (if there's a ticket, I can't find it). The error page and the debug bar are both debug tools, even if they're used in different circumstances. Giving them a common look'n'feel could be a way to gather support for this change.

comment:2 Changed 4 years ago by haras

"Contrib-03 (Add Django Debug Toolbar to contrib) - DDT's author prefers it as an external project" on https://code.djangoproject.com/wiki/Version1.2Features#Highlyunlikely

That's sad, I would be +1 for this feature especially as you said, combining it with those debug features, which I was writing about.

comment:3 Changed 4 years ago by jezdez

Adding the debug toolbar to contrib is being discussed in #11698.

comment:4 Changed 4 years ago by jacob

  • milestone 1.4 deleted

Milestone 1.4 deleted

comment:5 Changed 2 years ago by jacob

  • Resolution set to wontfix
  • Status changed from new to closed

There's already a mechanism (https://docs.djangoproject.com/en/dev/ref/urls/#django.conf.urls.handler500) to do custom error pages; adding a second method to do the same violates the Zen of Python.

Note: See TracTickets for help on using tickets.
Back to Top