Quickstart

You can join unlimited of slug-strings or context-variables to one slug. Most commonly you will do this if you need to use the users LANGUAGE_CODE in your slug, to have different content nodes for every language:

{% load generic_flatblocks %}
{% gblock "website","title",LANGUAGE_CODE for "gblocks.Title" %}

The slug can also be a context variable:

{% with "website_teaser" as my_slug %}
    {% gblock my_slug for "gblocks.Text" %}
{% endwith %}

You can render each generic block with a template of your choice:

{% gblock "website_urgent_notice" for "gblocks.Text" with "urgent.html" %}

You can pass an integer as slug. In this case, generic-flatblocks will fetch the model instance with the primary key you named in slug. Basically this is a {% include %} tag on model level:

{% gblock 1 for "auth.user" with "current_user.html" %}

You can store the related object directly in the context using the “into” argument. This is the quickest way to display any model. The “for” and “as” arguments are ignored:

{% gblock 1 for "auth.user" into "the_user_object" %}
<p>The first user is {{ the_user_object.username }}!</p>
{% if the_user_object_admin_url %}<a href="{{ the_user_object_admin_url }}">edit</a>{% endif %}

Let’s create an flatblock with a “as” argument. We publish this block at the end of this page in a variable called FOOTER:

{% gblock "footer" for "gblocks.Text" as "FOOTER" %}

{{ FOOTER }}