skip to navigation
skip to content

django-templates-macros 0.2

Add macros to your django templates


Add macros to your django templates


The original code of this app is taken from by MattP.

This snippets cites:

Based on snippet by
    Michal Ludvig <>

Extended for args and kwargs into templatetags/ by
    Skylar Saveland <>

Modified to support rendering into context by


You can find this package here:


  1. Add this app “macros” to your INSTALLED_APPS

  2. In your template load the library:

    {% load macros %}
  3. Define a new macro called ‘my_macro’ that takes args and/or kwargs All will be optional:

    {% macro my_macro arg1 arg2 baz="Default baz" %}
        {% firstof arg1 "default_arg1" %}
        {% if arg2 %}{{ arg2 }}{% else %}default_arg2{% endif %}
        {{ baz }}
    {% endmacro %}
  4. Use the macro with string parameters or context variables:

    {% usemacro my_macro "foo" "bar" baz="KW" %}
    {% usemacro my_macro num_pages "bar" %}
    {% setmacro my_macro %} {{ my_macro }}

Renders like:

foo bar KW
77 bar Default baz
default_arg1 default_arg2 Default baz
  1. Alternatively save your macros in a separate file, e.g. “mymacro.html” and load it to the current template with:

        {% loadmacros "mymacros.html" %}
    Then use these loaded macros in as described above.

Bear in mind that defined and loaded macros are local to each template file and are not inherited through {% extends … %} tags.

File Type Py Version Uploaded on Size
django-templates-macros-0.2.tar.gz (md5) Source 2016-12-26 4KB
django_templates_macros-0.2-py2-none-any.whl (md5) Python Wheel 2.7 2016-12-26 5KB