Getting Started

Installation from Pypi

djLint is build with Python 3.7+, it can be installed by simply running:

pip install djlint

Or with the npm experimental install - Note, this requires python and pip to be on your system path.

npm i djlint

CLI Usage

djLint is a command line application. See configuration for advanced configuration.

Usage: djlint [OPTIONS] SRC ...

djLint · lint and reformat HTML templates.

--version Show the version and exit.
-e, --extension TEXT File extension to check [default: html]
-i, --ignore TEXT Codes to ignore. ex: "H014,H017"
--reformat Reformat the file(s).
--check Check formatting on the file(s).
--indent INTEGER Indent spacing. [default: 4]
--quiet Do not print diff when reformatting.
--profile TEXT Enable defaults by template language. ops: django,
jinja, nunjucks, handlebars, golang, angular,
html [default: html]
--require-pragma Only format or lint files that starts with a comment
with the text 'djlint:on'
--lint Lint for common issues. [default option]
--use-gitignore Use .gitignore file to extend excludes.
--warn Return errors as warnings.
--preserve-leading-space Attempt to preserve leading space on text.
--preserve-blank-lines Attempt to preserve blank lines.
--format-css Also format contents of <style> tags.
--format-js Also format contents of <script> tags.
--configuration PATH Path to global configuration file in .djlintrc format
--statistics Count the number of occurrences of each
error/warning code.
-h, --help Show this message and exit.


If the command djlint is not found, ensure sure that Python is in your path.

Using Path vs Stdin

djLint works with a path or stdin.

Running with a path -

djlint /path/to/templates --lint

Or a specific file -

djlint /path/to/this.mustache --lint

Or with stdin -

echo "<div></div>" | djlint -

Stdin can also be used to reformat code. The output will be only the formatted code without messages.

echo "<div></div>" | djlint - --reformat

Output -

Edit this page Updated Sep 19, 2022