HTML Diff
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>