Django Template Language, теги, фильтры, наследование, custom tags
Django Template Language (DTL) — система шаблонов для создания HTML в Django.
💡 Правило: Держите логику в view, а не в шаблонах.
<!-- Переменные -->
{{ user.username }}
<!-- Теги -->
{% if user.is_authenticated %}
<p>Hello, {{ user.username }}!</p>
{% endif %}
<!-- Циклы -->
{% for post in posts %}
<h2>{{ post.title }}</h2>
{% endfor %}
<!-- Фильтры -->
{{ name|lower }}
{{ text|truncatewords:30 }}<!-- base.html -->
<!DOCTYPE html>
<html>
<head><title>{% block title %}Site{% endblock %}</title></head>
<body>{% block content %}{% endblock %}</body>
</html>
<!-- child.html -->
{% extends 'base.html' %}
{% block title %}My Page{% endblock %}
{% block content %}Content here{% endblock %}# templatetags/my_tags.py
from django import template
register = template.Library()
@register.simple_tag
def multiply(a, b):
return a * b<!-- В шаблоне -->
{% load my_tags %}
{% multiply 5 3 %}Вопросы ещё не добавлены
Вопросы для этой подтемы ещё не добавлены.