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:nameandemail. These are taken fromsettings.ADMINS[0].
- Add support for search engine referrals and custom links output.
- This app needs
Sitesto 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! :-)