django-template-tree

Generate diagrams showing relationships between templates in Django projects


Keywords
django_template_tree
License
MIT
Install
pip install django-template-tree==0.1.1

Documentation

django-template_tree

https://travis-ci.org/paul-butcher/django_template_tree.svg?branch=master

Generate diagrams showing relationships between templates in Django projects

Documentation

The full documentation is at https://django_template_tree.readthedocs.io.

Quickstart

Install django-template_tree:

pip install django_template_tree

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'template_tree',
    ...
)

Add django-template_tree's URL patterns:

from template_tree import urls as template_tree_urls
from django import settings
if settings.DEBUG:
    urlpatterns += [
        url(r'^__tt__/', include('template_tree.urls', namespace='template_tree')),
    ]

Features

Displays a collapsible tree diagram showing the hierarchy of templates used by a Django application.

_static/screenshot.png

Nodes can be collapsed and expanded, by clicking on them.

_static/screenshot-collapsed.png

Apps can be filtered out of the tree, using the 'exclude_app' querystring parameter, thus:

http://localhost:8000/__tt__/?exclude_app=template_tree&exclude_app=admin

By default, admin is excluded, so http://localhost:8000/__tt__/ is equivalent to http://localhost:8000/__tt__/?exclude_app=admin

In order to show the admin app as well, you will need to 'unexclude' it thus: http://localhost:8000/__tt__/?exclude_app=

Visiting the template_tree url, requesting an application/json response will return json data compatible with d3 hierarchies, so you can roll your own diagrams.

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Credits

Tools used in rendering this package: