Question

I have been reading some django code recently and the tag Templatetag is heavily used :

  {% templatetag openblock %} block page_title {% templatetag closeblock %}
  Page Title 
  {% templatetag openblock %} endblock page_title {% templatetag closeblock %}

what are the advantages over the shorter syntax below :

  {% block page_title %}Page Title{% endblock %}

documentation says that templatetag can be use for:

openblock   {%
closeblock  %}
openvariable {{;
closevariable }};
openbrace {;
closebrace };
opencomment {#;
closecomment #};

for me, it just make code longer, so in which case should i use it ?

Was it helpful?

Solution

Those aren't the same at all. The templatetag tag outputs the literal characters. So the first one actually renders in the output as {% block page_title %}, whereas the second one interprets the tag and renders the block.

I don't know how your template was used, but looks as though it was dynamically outputting another template that will then be rendered in turn.

OTHER TIPS

It is useful to create project templates, because the pre-processor of the "startproject" command will process these symbols ({%, {{ etc) and remove them incorrectly without this approach.

Example: https://github.com/twoscoops/django-twoscoops-project/blob/develop/project_name/templates/base.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top