Source

django-better-chunks / USAGE

Full commit
hakanw 969e9f3 
























































Think of it as flatpages for small bits of reusable content you might want to 
insert into your templates and manage from the admin interface.

This is really nothing more than a model and a template tag.

By adding `chunks` to your installed apps list in your Django project and 
performing a `./manage.py syncdb`, you'll be able to add as many "keyed" bits 
of content chunks to your site.

The idea here is that you can create a chunk of content, name it with a unique
key (for example: `home_page_left_bottom`) and then you can call this content 
from a normal template.

Why would anyone want this?

It essentially allows someone to define "chunks" (I had wanted to call it
 blocks, but that would be very confusing for obvious reasons) of content in 
your template that can be directly edited from the awesome Django admin 
interface.  Throwing a rich text editor control on top of it make it even 
easier.

Template tag usage:

{% load chunks %}
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <h1> Blah blah blah</h1>
        <div id="sidebar">
            ...
        </div>
        <div id="left">
            {% chunk "home_page_left" %}
        </div>
        <div id="right">
            {% chunk "home_page_right" %}
        </div>
    </body>
</html>

This is really helpful in those cases where you want to use 
`django.contrib.flatpages` but you need multiple content areas.  I hope this 
is helpful to people and I'll be making minor edits as I see them necessary.

Caching

If you want to cache the content of your chunks you can pass along a caching
time argument in your chunk tag.  Example:

{% chunk "home_page_left" 3600 %}

The caching time is specified in seconds.  For caching to work properly you 
must configure a cache backend in your settings.py.  See the Django
documentation for more information:

http://www.djangoproject.com/documentation/cache/