Skip to main content

An easy way to create custom template tags for Django's templating system.

Project description


An easy way to create custom template tags for Django's templating system.


Just subclass the EasyNode and create the method render_context and register
the template tag:

from django.template import Library
from easytags.node import EasyNode

register = Library()

class SumNode(EasyNode):

def render_context(self, context, arg1, arg2, arg3=0):
return int(arg1) + int(arg2) + int(arg3)

register.tag('sum', SumNode.parse)

EasyNode will take care of the template tag's parsing, resolving variable
and inspecting if the args are ok with the ``render_context`` signature.
In the example above, you can use the sum tag in any of the forms below:

{% sum "1" "2" %}
{% sum "1" arg2="2" %}
{% sum arg1="1" arg2="2" %}
{% sum arg2="2" arg1="1" %}

It's almost like calling methods in Python.

In this example, ``arg3`` is optional and defaults to 0. So you may use or not this arg.


* Allow render_context to has *args, **kwargs as parameters.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-meio-easytags-0.1.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page