Skip to content
Oct 6 / PK Shiu

Django production error handling

Django provide a nice mechanism to report error in its “batteries included” goodness. You can easily setup the Django environment so that it will send you an email when a “server error” occurs. You just need to make sure the following is setup:

Outbound email working

The django environment must be able to send outbound emails. The actual requirement depends on your server environment, but you definitely need to have correct values setup for:


settings.EMAIL_HOST
settings.EMAIL_PORT
settings.EMAIL_HOST_USER
settings.EMAIL_HOST_PASSWORD

Admin users

settings.ADMINS -- this is a list of lists (or more accurately tuple of tuples)
settings.SERVER_EMAIL -- email address of the error reporting from address

Debug Setup

settings.DEBUG=False

500.html and 404.html

Once DEBUG is off, Django will want to display your 500 or 404 page. Create these pages and make them available on one of our template directories.

Example

Here are some sample entries from my settings file:


EMAIL_HOST='smtp.webfaction.com'
EMAIL_PORT=25
EMAIL_HOST_USER='my_mailbox_name'
EMAIL_HOST_PASSWORD='my_mailbox_password'
SERVER_EMAIL='webmaster@imperial-consulting.com'
ADMINS=( ('PK Shiu', 'support@imperial-consulting.com'),)
DEBUG=False

Reference

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • Add to favorites
  • email
  • FriendFeed
  • Google Buzz
  • LinkedIn
  • Tumblr
  • Reddit
Leave a comment