It was suggested in bug #13480 that I raise this issue "during the 1.3
feature discussion phase", which we seem to have entered.

Essentially, the issue is that a typo in my_app/views.py or any of its
dependencies can raise an error on module import and break the entire
site, leaving the user with a completely uninformative
webserver-provided error page.  This error page is /not/ the one
provided by Django when DEBUG is enabled in settings.py.  Effectively,
DEBUG is locked off for this type of error.  It's also possible that
the standard non-DEBUG error page mechanisms are bypassed as well, but
I have not tested this.

Adding either of following two lines to the start of my_app/views.py
will trigger this behavior:

import djagno # ImportError
print print "Hello, world!" # SyntaxError.

Attached to bug #13480 you will find a proof-of-concept patch that
catches both of these errors and reroutes them to the standard (i.e.
DEBUG-respecting) error mechanisms.  I call it a proof-of-concept
because I took the minimum steps necessary to solve the problem as I
experience it.  Django as a whole might be better served by a more
comprehensive solution... or simply one written by someone who has
enough experience with Django's internals to see the Right Way to
handle things.  You are, of course, welcome to use the patch as
written if you find it adequate.

As I mentioned to Arthur Koziel a few days ago, a cursory glance at
his GSoC summary suggests that there may be some overlap between that
and this change.  I'm not sure whether that's important to this
proposal or not.

-FM

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to