Created: 2008-11-28 09:18
Updated: 2018-10-28 03:39
License: other


Easy to install perfect 404 page, based on A List Apart's article.

The main goal of this small project — to provide a simple but flexible way to add an excellent 404 page, which handles referers, broken links, searches from different engines, etc..


  • Place somewhere in your python path or install using easy_install django-perfect404.
  • Add perfect404 to the INSTALLED_APPS.
  • Add handler404 = 'perfect404.views.page_not_found' to the


If you want to customize your 404 page, then override template 'perfect404.html'. It's context contains following variables:

  • request_path -- page's location.
  • referer -- URL of the page that refer to the missing one. This variable can be empty string in case if user entered the URL by hand.
  • internal -- boolean variable which is True if broken link is internal.
  • contact -- dict with two keys: 'name' and 'email'. These are taken from settings.ADMINS[0].


  • Add support for search engine referrals and custom links output.


Clone this project on GitHub and dont't forget to send me patches! :-)

Bitdeli Badge

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more