# Introduction ## ⭐ Features - Use HTML-like elements in Django templates, e.g. `` instead of `{% include 'partial.html' %}` - Can be sprinkled in as needed to enhance existing Django functionality - Since it looks like HTML, syntax highlighting mostly "just works" - Wraps included templates in a custom element for easier debugging and targeted CSS styling - Support for making components with the [Shadow DOM](components.md#css-scoping) - Integrates with Django component libraries like [django-bird](https://django-bird.readthedocs.io) - [`call`](template-tags/call.md) and [`model`](template-tags/model.md) template tags to call functions directly from a template - [`dateformat`](filters/dateformat.md) filter to use Python [`strftime`](https://strftime.org) formats instead of PHP when formatting dates - Submit forms via AJAX and swap in the resulting HTML ## 💥 Example **base.html** ``` ``` **index.html** ```html
If
Elif
Else
This is verbatim: {% include %} this is a comment This is escaped This is not escaped
``` ## ✨ Inspiration - [Web Components](https://web.dev/learn/html/template) - [Cotton](https://django-cotton.com) by [wrabit](https://github.com/wrabit) ```{toctree} :maxdepth: 2 :hidden: self installation components tag-elements tag-attributes examples ``` ```{toctree} :caption: Filters :maxdepth: 2 :hidden: filters/dateformat ``` ```{toctree} :caption: Template Tags :maxdepth: 2 :hidden: template-tags/call template-tags/model template-tags/template ``` ```{toctree} :caption: Custom Elements :maxdepth: 2 :hidden: custom-elements/ajax-form ``` ```{toctree} :caption: Middlewares :maxdepth: 2 :hidden: middlewares/request-method middlewares/request-ajax ``` ```{toctree} :caption: Integrations :maxdepth: 2 :hidden: integrations/django-bird ``` ```{toctree} :caption: Advanced :maxdepth: 2 :hidden: settings mappers ``` ```{toctree} :caption: API :maxdepth: 3 :hidden: api/dj_angles/index ``` ```{toctree} :caption: Info :maxdepth: 2 :hidden: changelog GitHub Sponsor ```