validate_templates¶
- synopsis
Checks templates on syntax or compile errors.
This will catch any invalid Django template syntax, for example:
{% foobar %}
{% comment %}
This throws this error:
TemplateSyntaxError Invalid block tag on line 1: 'foobar'. Did you forget to register or load this tag?
{% endcomment %}
Note that this will not catch invalid HTML, only errors in the Django template syntax used.
Options¶
verbosity¶
A higher verbosity level will print out all the files that are processed instead of only the ones that contain errors.
break¶
Do not continue scanning other templates after the first failure.
ignore-app¶
Ignore this app (can be used multiple times).
includes¶
Use -i (can be used multiple times) to add directories to the TEMPLATE DIRS.
no-apps¶
Do not automatically include app template directories.
Settings¶
VALIDATE_TEMPLATES_IGNORE_APPS¶
Ignore the following apps
VALIDATE_TEMPLATES_IGNORES¶
Ignore file names which matches these patterns. Matching is done via fnmatch.
VALIDATE_TEMPLATES_EXTRA_TEMPLATE_DIRS¶
You can use VALIDATE_TEMPLATES_EXTRA_TEMPLATE_DIRS to include a number of template dirs by default directly from the settings file. This can be useful for situations where TEMPLATE DIRS is dynamically generated or switched in middleware, or when you have other template dirs for external applications like celery, and you want to check those as well.
Usage Example¶
./manage.py validate_templates
You can also integrate it with your tests, like this:
import unittest
from django.core.management import call_command
class MyTests(unittest.TestCase):
def test_validate_templates(self):
call_command("validate_templates")
# This throws an error if it fails to validate