Formatter plugin for Django template files.
npm install --save-dev prettier prettier-plugin-django-template
Add the plugin to your .prettierrc
:
{
"plugins": ["prettier-plugin-django-template"]
}
To format basic .html files, you'll have to override the used parser inside your .prettierrc
:
{
"overrides": [
{
"files": ["*.html"],
"options": {
"parser": "django-template"
}
}
]
}
Run it on all html files in your project:
npx prettier --write **/*.html
If you don't have a prettier config you can run the plugin with this command:
npx prettier --write **/*.html --plugin=prettier-plugin-django-template
Using range ignores is the best way to tell prettier to ignore part of files. Most of the time this is necessary for Django tags inside script
or style
tags:
<!-- prettier-ignore-start -->
<script>
window.someData = {{ data | safe }}
</script>
<!-- prettier-ignore-end -->
<!-- prettier-ignore-start -->
<style>
:root { --accent-color: {{ theme_accent_color }} }
</style>
<!-- prettier-ignore-end -->
This Plugin provides additional options:
Surrounds the value of html attributes with quotes. This option was introduced to support JinjaX syntax.
true
- Example:
<Paginator items="{products}" />
false
- Example:
<Paginator items={products} />
Default | CLI Override | API Override |
---|---|---|
true |
--no-quote-attributes |
quoteAttributes: <bool> |