Skip to content

Latest commit

 

History

History
58 lines (39 loc) · 1.77 KB

README.rst

File metadata and controls

58 lines (39 loc) · 1.77 KB

django-perfect404

Latest PyPI version CI Status

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..

Installation

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'

Customization

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 and email. These are taken from settings.ADMINS[0].

TODO

  • 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.

Contribution

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