HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Привет, мои дорогие читатели! Сегодня я хочу рассказать вам об одной из самых важных функций шаблонизатора Jinja 2 - наследование. Я использовал эту функцию в своем последнем проекте и был поражен тем, насколько просто и удобно ее использовать.</p>
1 <p>Привет, мои дорогие читатели! Сегодня я хочу рассказать вам об одной из самых важных функций шаблонизатора Jinja 2 - наследование. Я использовал эту функцию в своем последнем проекте и был поражен тем, насколько просто и удобно ее использовать.</p>
2 <p>Когда я начал работать над своим проектом, я столкнулся с необходимостью создания множества страниц с одинаковым дизайном и функционалом. Я понимал, что каждую страницу нужно создавать отдельно, но это было бы очень трудоемко и неэффективно. В этот момент я вспомнил о наследовании в Jinja 2.</p>
2 <p>Когда я начал работать над своим проектом, я столкнулся с необходимостью создания множества страниц с одинаковым дизайном и функционалом. Я понимал, что каждую страницу нужно создавать отдельно, но это было бы очень трудоемко и неэффективно. В этот момент я вспомнил о наследовании в Jinja 2.</p>
3 <p>Наследование позволяет создавать базовый шаблон и затем расширять его, добавляя уникальный контент на каждой странице. В Jinja 2 это реализуется с помощью ключевых слов {% extends %} и {% block %}.</p>
3 <p>Наследование позволяет создавать базовый шаблон и затем расширять его, добавляя уникальный контент на каждой странице. В Jinja 2 это реализуется с помощью ключевых слов {% extends %} и {% block %}.</p>
4 <p>Пример кода:</p>
4 <p>Пример кода:</p>
5 <p>{% extends "base.html" %} {% block content %} &lt;p&gt;This is unique content for this page.&lt;/p&gt; {% endblock %}</p>
5 <p>{% extends "base.html" %} {% block content %} &lt;p&gt;This is unique content for this page.&lt;/p&gt; {% endblock %}</p>
6 <p>Первое ключевое слово ({% extends %}) используется в шаблоне-наследнике, чтобы указать, какой шаблон будет использоваться в качестве базового. Второе ключевое слово ({% block %}) используется в базовом шаблоне, чтобы указать, где именно нужно добавить контент.</p>
6 <p>Первое ключевое слово ({% extends %}) используется в шаблоне-наследнике, чтобы указать, какой шаблон будет использоваться в качестве базового. Второе ключевое слово ({% block %}) используется в базовом шаблоне, чтобы указать, где именно нужно добавить контент.</p>
7 <p>Пример кода:</p>
7 <p>Пример кода:</p>
8 <p>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;{% block title %}Default Title{% endblock %}&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;header&gt; {% block header %} &lt;nav&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="/"&gt;Home&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="/about"&gt;About&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="/contact"&gt;Contact&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/nav&gt; {% endblock %} &lt;/header&gt; &lt;main&gt; {% block content %}{% endblock %} &lt;/main&gt; &lt;footer&gt; {% block footer %} &lt;p&gt;&amp;copy; 2023 My Website&lt;/p&gt; {% endblock %} &lt;/footer&gt; &lt;/body&gt; &lt;/html&gt;</p>
8 <p>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;{% block title %}Default Title{% endblock %}&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;header&gt; {% block header %} &lt;nav&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="/"&gt;Home&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="/about"&gt;About&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="/contact"&gt;Contact&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/nav&gt; {% endblock %} &lt;/header&gt; &lt;main&gt; {% block content %}{% endblock %} &lt;/main&gt; &lt;footer&gt; {% block footer %} &lt;p&gt;&amp;copy; 2023 My Website&lt;/p&gt; {% endblock %} &lt;/footer&gt; &lt;/body&gt; &lt;/html&gt;</p>
9 <p>Просто, не правда ли? Но это только начало! Jinja 2 позволяет наследовать не только один шаблон, но и несколько, что делает эту функцию еще более гибкой. Кроме того, можно наследовать только определенные блоки из базового шаблона, а не весь шаблон целиком.</p>
9 <p>Просто, не правда ли? Но это только начало! Jinja 2 позволяет наследовать не только один шаблон, но и несколько, что делает эту функцию еще более гибкой. Кроме того, можно наследовать только определенные блоки из базового шаблона, а не весь шаблон целиком.</p>
10 <p>Я использовал наследование в своем проекте и был впечатлен его простотой и удобством. Я смог создать базовый шаблон, определить в нем общие блоки контента и затем создавать новые страницы, расширяя базовый шаблон только необходимыми блоками.</p>
10 <p>Я использовал наследование в своем проекте и был впечатлен его простотой и удобством. Я смог создать базовый шаблон, определить в нем общие блоки контента и затем создавать новые страницы, расширяя базовый шаблон только необходимыми блоками.</p>
11 <p>Это очень сократило время на разработку проекта, а также сделало его более удобным в обслуживании. Все благодаря функции наследования в Jinja 2.</p>
11 <p>Это очень сократило время на разработку проекта, а также сделало его более удобным в обслуживании. Все благодаря функции наследования в Jinja 2.</p>
12 <p>В заключение я бы хотел сказать, что наследование в Jinja 2 - это одна из тех функций, которая действительно может сэкономить ваше время и усилить удобство работы с шаблонизатором. Я очень рекомендую ее использовать при разработке ваших проектов. Спасибо за чтение!</p>
12 <p>В заключение я бы хотел сказать, что наследование в Jinja 2 - это одна из тех функций, которая действительно может сэкономить ваше время и усилить удобство работы с шаблонизатором. Я очень рекомендую ее использовать при разработке ваших проектов. Спасибо за чтение!</p>