Search code examples
djangodjango-templates

How do I get all the variables defined in a Django template?


I'm new to Django and I wonder if there is a way to dump all the variables available to a template for debugging purposes. In Python I might use something like locals(), is there something equivalent for the default template engine?

Note: suppose I don't have access to the view for the purposes of this question.


Solution

  • Both Ned's and blaine's answers are good, but if you really want to achieve exactly what you ask for there's a template tag for it:

    {% debug %}

    Builtins:debug

    More information in the context_processor.debug including:

    If this processor is enabled, every RequestContext will contain debug and and sql_queries variables – but only if your DEBUG setting is set to True and the request’s IP address (request.META['REMOTE_ADDR']) is in the INTERNAL_IPS setting

    Similar to Peter G suggestion, I often use a <div id="django-debug"><pre>{% debug|escape %}</pre></div> block at the end of the page that has display:none but that I can inspect to debug.