django-muckraking

A collection of random Django utilities


License
CC-BY-NC-SA-2.5
Install
pip install django-muckraking==0.3.2

Documentation

Django Muckraking

A collection of various Django utilities. It includes:

Middleware

muckraking.middleware.SpacelessMiddleware
Removes spaces and line breaks between html tags. Leaves <script> blocks intact
muckraking.middleware.LegacyURLRedirectMiddleware

An apache-like approach to redirects.

Specify your redirects in settings.py like this:

LEGACY_URL_REDIRECTS = (
    (r'^/about/news-events\.php(.+)?', '/news-events/$1',),
    (r'^/about/(?!index\.php)', '/about/',),
)

Template Context Processors

muckraking.template.context_processors.debug_context
Add a {{ DEBUG }} variable Django templates. The value is a boolean

Standard Template Tags

To use the following tags, add {% load muckraking_tags %} to your template.

{% version_hash %}
Outputs either the Git HEAD commit hash, or a hash of the atime value of the Django settings module. It first tries to output the Git commit hash. If unsuccessful, it falls back to the settings module file time hash.
{% git_commit_hash %}
Outputs the commit hash of the HEAD commit in a git repo. Useful for cache-busting strings.
{% settings_file_time_hash %}
Outputs a hash of the atime meta value of the Django settings module file. Useful for cache-busting strings.

Django CMS Template Tags

To use the following tags, add {% load muckraking_cms_tags %} to your template.

{% page_url_by_slug "foobar-page" %}
Allows you to perform reverse lookups on pages by slug:

Management Commands

import_redirects

Allows you to import a csv file of redirect urls into the redicet app:

./manage.py import_redirects ~/path/to/redirects.csv