public
Fork of zerok/django-flatblocks
Description: Dynamic template snippets for Django.
Homepage: http://github.com/semente/django-snippets/
Clone URL: git://github.com/semente/django-snippets.git
Click here to lend your support to: django-snippets and make a donation at www.pledgie.com !
name age message
file .gitignore Loading commit data...
file AUTHORS.txt
file LICENSE.txt
file MANIFEST.in Tue Jan 20 08:25:03 -0800 2009 Updated MANIFEST.in [zerok]
file README.rst
file ez_setup.py
file setup.py
directory snippets/
README.rst

django-snippets

django-snippets provides a templatetag acting as an {% include %}, that loads a template and renders it with the current context, but the template content comes from database.

django-snippets is a fork of django-flatblocks, and the main difference is that django-snippets render the content as a Django template.

Usage

Once you've created some instances of the snippets.models.Snippet model, you can load it it using the snippets templatetag-library:

{% load snippets ... %}

...

{% get_comment_list for entry as comment_list  %}
{% if comment_list %}
  <h2>Comments</h2>
  <ol>{% include_snippet "comment_list" %}</ol>
{% endif %}

This way you can include a snippet with the name "comment_list". If you have the name of a snippet in a template variable, leave out the quotes.

comment_list will be rendered as a Django template. This mean that you can use {% for %}, {% if %} and others template tags.

This tag also accepts an optional argument where you can specify the number of seconds, the that snippet should be cached:

{% include_snippet "comment_list" 3600 %}

If you use a snippet that doesn't exist, ``include_snippet`` will insert the value of the SNIPPET_STRING_IF_INVALID setting, which is '' (the empty string) by default.

License

django-snippets is available free software under the New BSD license. See the file LICENSE.txt for more information.