# Совместимость с Django Template Language (DTL)

В основе процедурного языка на платформе Fasttrack выступает язык шаблонизации от популярного Python веб-фреймворка [Django](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#built-in-tag-reference) (*версии 3.2 и выше*). Все операторы, фильтры и теги, которые есть в DTL, — будут автоматически поддерживаться и на нашей платформе.

### Используемые Django-теги на платформе

Django-тег — это конструкция языка шаблонизации, состоящая из специальной нотации фигурных скобок `{%` и `%}`, названия тега и (опционально) параметров/фильтров. Почти все Django-теги имеют блочную конструкцию, то есть открывающий и закрывающий (парный) тег с приставкой `end`.

Например:

```
{% if variable %}     # открывающий тег if
  Привет, Мир!        # контент, который будет показан, если условие сработает
{% endif %}           # закрывающий тег endif

```

Самые часто используемые теги:

* [comment](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#comment)
* [for](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#for)
* [if](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#if)
* [now](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#now)
* [url](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#url)
* [with](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#with)

### Используемые Django-фильтры на платформе

Django-фильтр — это дополнительная конструкция языка шаблонизации, которая существует вместе с Django и/или кастомными тегами, а так же помогает преобразовывать, изменять или дополнять переменные в контексте пользователя.

Обычно Django-фильтры записываются внутри специальной нотации из фигурных скобок `{{` и `}}`, после объявления переменной и вертикального слэша `|` .

Например:

```
{{ value|add:"2" }}   # если переменная value=4, то выведется 6
```

Некоторые фильтры можно «миксовать» для получения желаемого результата:

```
{{ value|striptags|lower }}   # значение переменной value будет очищено от HTML тегов
                              # и все символы будут переведены в нижний регистр

```

Самые часто используемые фильтры:

* [add](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#add)
* [date](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#date)
* [default](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#default)
* [dictsort](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#dictsort)
* [dictsortreversed](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#dictsortreversed)
* [first](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#first)
* [floatformat](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#floatformat)
* [join](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#join)
* [last](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#join)
* [length](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#length)
* [lower](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#lower)
* [make\_list](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#make-list)
* [random](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#random)
* [safe](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#safe)
* [slice](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#slice)
* [stringformat](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#stringformat)
* [striptags](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#striptags)
* [time](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#time)
* [truncatewords](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#truncatewords)
* [upper](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#upper)
* [urlencode](https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#urlencode)

### Полная документация

Рекомендуется к изучению для более продуктивной работы.

* <https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#ref-templates-builtins-filters>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fstrk.io/knowledge_base/instructions/old/vizualnyi-konstruktor-chat-botov/konstruktor/rabota-s-procedurami/sovmestimost-s-django-template-language-dtl.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
