Skip to content
This repository has been archived by the owner on Nov 13, 2021. It is now read-only.

Kreeg/django-chunks-jinja2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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?

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

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>

if you need the Chunk object in the template (maybe you've added some generic relations to it) you should use the {% get chunk %} templatetag:

{% load chunks %}

{% get_chunk "home_page_left" as chunk_obj %}

<!-- ... use the Chuck object, then display it's contents -->
<div>{{ chuck_obj.content }}</div>

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.

###Django jinja support:###

In settings.py set

JINJA2_GLOBALS = {'chunk': 'chunks.contrib.jinja_support.chunk'}

Now you can use django-chunks in template:

{{ chunk('home_page_left') }}

About

A fork of django-chunks with jinja2 and i18n support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%