skip to navigation
skip to content

Not Logged In

django-template-analyzer 1.4

Django Template Analyzer - Extract template nodes from a Django template


The template_analyzer package offers an API to analyze the Django template structure. It can be used to find nodes of a particular type, e.g. to do automatic detection of placeholder tags.

Supported features

The scanner finds tags in various situations, including:

  • Extend nodes
  • Include nodes
  • Overwritten blocks with new definitions
  • Blocks with or without {{ block.super }}
  • Reorganized blocks
  • Ignoring nodes outside blocks in extending templates
  • Handling multiple levels of super includes

The returned nodes are provided in a natural ordering, as they would be expected to appear in the outputted page.

While Django offers a template.nodelist.get_nodes_of_type() function, this function does not produce the same results.

API example

from template_analyzer.djangoanalyzer import get_node_instances
from mycms.templatetags.placeholdertags import Placeholder

template = get_template("mycms/default-page.html")

placeholders = get_node_instances(template, Placeholder)
placeholder_names = [p.get_name() for p in placeholders]


First install the module, preferably in a virtual environment. It can be installed from PyPI:

pip install django-template-analyzer

Or the current folder can be installed:

pip install .


Version 1.1: added Django 1.4 compatibility. Version 1.0: initial release.


  • This package is based on the work of Django CMS.
  • Many thanks to the contributors of cms/utils/ in Django CMS!
File Type Py Version Uploaded on Size
django-template-analyzer-1.4.tar.gz (md5) Source 2014-09-22 6KB
django_template_analyzer-1.4-py2.py3-none-any.whl (md5) Python Wheel 2.7 2014-09-22 8KB
  • Downloads (All Versions):
  • 15 downloads in the last day
  • 260 downloads in the last week
  • 1108 downloads in the last month