A easy to install perfect 404 page, based on A List Apart's article.
The main goal of this small project is to provide a simple way to add a clean 404 page, which handles referers, broken links, searches from different engines, etc..
Install:
pip install django-perfect404
Add to INSTALLED_APPS
setting:
INSTALLED_APPS = ( # ...other installed applications, 'perfect404', )
Finally, add to the base urls.py
of your project:
handler404 = 'perfect404.views.page_not_found'
If you want to customize your 404 page, then override template perfect404.html
. Its
context contains the 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
andemail
. These are taken fromsettings.ADMINS[0]
.
- Add support for search engine referrals and custom links output.
- This app needs
Sites
to be installed - we need to remove this dependency. - The 404 template needs cleaning.
Clone this project on GitHub and don't forget to send in patches! :-)