An easy way to create custom template tags for Django's templating system.
Project description
django-meio-easytags
====================
An easy way to create custom template tags for Django's templating system.
Usage
=====
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.
TODO
====
* Allow render_context to has *args, **kwargs as parameters.
====================
An easy way to create custom template tags for Django's templating system.
Usage
=====
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.
TODO
====
* 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.