# 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
```