If you've got debug on and that's working correctly all errors should be displayed.
But regardless you can get Django to email you on any server errors which will be especially helpful in responding to a production environment problem. The docs on error reporting will help, specifically:
At the very least, you’ll need to specify EMAIL_HOST and possibly EMAIL_HOST_USER and EMAIL_HOST_PASSWORD,
I think this is the standard logging but anyway, in your settings.py
file make sure that ADMINS = ()
isn't empty and then check your logging configuration.
While you're using DEBUG
mode make sure you don't also have the require_debug_false
filter included.
ADMINS = (
# ('Your Name', 'your_email@example.com'),
)
# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
If you've got all this, then you should get some insight in to your errors.