0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Любой CRUD начинается со списка сущностей, которые обычно представлены в табличном виде. Чтобы его реализовать, понадобится добавить маршрут, реализовать обработчик-вью и вывести данные в шаблоне. Еще нужно добавить тесты, но после того, как разберемся с фреймворком.</p>
1
<p>Любой CRUD начинается со списка сущностей, которые обычно представлены в табличном виде. Чтобы его реализовать, понадобится добавить маршрут, реализовать обработчик-вью и вывести данные в шаблоне. Еще нужно добавить тесты, но после того, как разберемся с фреймворком.</p>
2
<p>Начнем с маршрута в article/urls.py:</p>
2
<p>Начнем с маршрута в article/urls.py:</p>
3
<p>Следующий шаг - вью. Добавим содержимое в файл<em>/hexlet_django_blog/article/views.py</em>:</p>
3
<p>Следующий шаг - вью. Добавим содержимое в файл<em>/hexlet_django_blog/article/views.py</em>:</p>
4
<p>Первой строкой из базы извлекаются 15 первых статей. Django автоматически определяет наличие размера списка в запросе и выполняет правильное смещение в SQL.</p>
4
<p>Первой строкой из базы извлекаются 15 первых статей. Django автоматически определяет наличие размера списка в запросе и выполняет правильное смещение в SQL.</p>
5
<p>Следующей строкой вызывается шаблон, в который передается контекст. Он предоставляет словарь из передаваемых параметров.</p>
5
<p>Следующей строкой вызывается шаблон, в который передается контекст. Он предоставляет словарь из передаваемых параметров.</p>
6
<p>Осталось добавить шаблон<em>/hexlet_django_blog/templates/articles/index.html</em>:</p>
6
<p>Осталось добавить шаблон<em>/hexlet_django_blog/templates/articles/index.html</em>:</p>
7
<p>Контекст, который передали в шаблон из контроллера, превращается в набор переменных. Именами становятся ключи, а содержимым - значения этих ключей в массиве. В нашем примере это articles. Обращаться к этим переменным можно двумя способами: либо в директивах напрямую, либо через интерполяцию {{}}. Последний вариант автоматически подставит вместо переменной ее значение.</p>
7
<p>Контекст, который передали в шаблон из контроллера, превращается в набор переменных. Именами становятся ключи, а содержимым - значения этих ключей в массиве. В нашем примере это articles. Обращаться к этим переменным можно двумя способами: либо в директивах напрямую, либо через интерполяцию {{}}. Последний вариант автоматически подставит вместо переменной ее значение.</p>
8
<p>Обход коллекции выполняется с помощью тега {% for %}, который выглядит идентично for самого Python.</p>
8
<p>Обход коллекции выполняется с помощью тега {% for %}, который выглядит идентично for самого Python.</p>