template.Library.assignment_tag()

django.template.Library.assignment_tag()

Deprecated since version 1.9: simple_tag can now store results in a template variable and should be used instead.

To ease the creation of tags setting a variable in the context, Django provides a helper function, assignment_tag. This function works the same way as simple_tag() except that it stores the tag’s result in a specified context variable instead of directly outputting it.

Our earlier current_time function could thus be written like this:

@register.assignment_tag
def get_current_time(format_string):
    return datetime.datetime.now().strftime(format_string)

You may then store the result in a template variable using the as argument followed by the variable name, and output it yourself where you see fit:

{% get_current_time "%Y-%m-%d %I:%M %p" as the_time %}
<p>The time is {{ the_time }}.</p>
doc_Django
2016-10-09 18:39:47
Comments
Leave a Comment

Please login to continue.