django-template-analyzer 1.4

Django Template Analyzer - Extract template nodes from a Django template

Introduction

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]

Installation

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 .

Changelog

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

Credits

  • This package is based on the work of Django CMS.
  • Many thanks to the contributors of cms/utils/plugins.py in Django CMS!
BSD License

Author

Diederik van der Boor & Django CMS developers

Pip

django-template-analyzer==1.4

Classifiers

  • Topic :: Software Development :: Libraries :: Python Modules
  • Topic :: Software Development :: Libraries :: Application Frameworks
  • Topic :: Software Development
  • Programming Language :: Python :: 3.3
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 2.7
  • Programming Language :: Python :: 2.6
  • Programming Language :: Python
  • Operating System :: OS Independent
  • License :: OSI Approved :: BSD License
  • Intended Audience :: Developers
  • Framework :: Django
  • Environment :: Web Environment
  • Development Status :: 5 - Production/Stable
File Type Python Version Uploaded On Downloads
django_template_analyzer-1.4-py2.py3-none-any.whl Wheel 2.7 Sept. 22, 2014 1,525
django-template-analyzer-1.4.tar.gz Source Sept. 22, 2014 955
Version Release Date
1.4 Sept. 22, 2014
1.3 July 7, 2014
1.2 June 4, 2014
1.1.0 May 5, 2012
1.0.0 Dec. 20, 2011
Date Package Version Action
Nov. 4, 2014, 1:56 p.m. django-template-analyzer 1.3 Release Created
Nov. 4, 2014, 1:56 p.m. django-template-analyzer 1.2 Release Created
Nov. 4, 2014, 1:56 p.m. django-template-analyzer 1.0.0 Release Created
Nov. 4, 2014, 1:56 p.m. django-template-analyzer 1.1.0 Release Created
Nov. 4, 2014, 1:56 p.m. django-template-analyzer 1.4 Release Created
Nov. 4, 2014, 1:56 p.m. django-template-analyzer Package Created