- Создайте и зарегистрируйте приложения:
- pages — это приложение понадобится для работы со статическими страницами проекта;
- blog — тут будет происходить вся работа с публикациями пользователей.
- Описание процесса есть в уроке Создание Django-проекта. Приложения.
- Опишите маршруты и напишите соответствующие view-функции согласно таблице:
- АдресПриложениеФункция-обработчикИмя шаблона''blogindexindex.html'posts//'blogpost_detaildetail.html'category//'blogcategory_postscategory.html'pages/about/'pagesaboutabout.html'pages/rules/'pagesrulesrules.html
- Для каждого адреса установите namespaсe и name, совпадающие с именем приложения и view-функции соответственно.
- В файле views.py приложения blog разместите список posts. Каждый элемент этого списка — словарь, в котором хранится вся информация об отдельном посте.
- Информация из этого словаря должна будет выводиться на страницы проекта.
- Подобную работу вы уже делали в задании 3 урока Словарь контекста, ветвление и циклы в шаблонах.
- Создайте шаблоны страниц и разместите их на уровне проекта.
- Вёрстку шаблонов сделайте на основе html-файлов, которые хранятся в директории html. Подсказки и описание структуры файлов для директории templates есть в уроках спринта.
- Подключите статику.
- В репозитории, в директории html, лежат папки со статикой: css и img. Сохраните статику на уровне проекта и подключите её к шаблонам — подобно тому, как это описано в уроке Подключение стилей, картинок и скриптов к шаблонам.
Вывод информации на страницы проекта
- На главную страницу проекта выведите полный список публикаций из словаря posts. В директории html есть уже свёрстанная главная страница проекта: index.html. Переделайте её в Django-шаблон и сохраните в директории для шаблонов проекта. Порядок вывода постов должен быть таким же, как в исходном файле index.html.
- Вёрстка отдельной страницы публикации подготовлена в файле html/detail.html. На эту страницу должен быть выведен полный текст поста.
- На страницу категории ('category//') посты выводить пока что не надо; выведите на эти страницы лишь значение category_slug из адреса. Например, для адреса http://127.0.0.1:8000/category/personal/ выведите personal; текст на этой странице должен быть таким: «Публикации в категории personal».
Публикации должны передаваться в шаблоны в словаре контекста под ключом post.
Не применяйте к дате публикации фильтр шаблонов date — это сейчас строка, а не объект даты.
Шаблоны about.html и rules.html из директории html сохраните на уровне проекта и подключите к соответствующим view-функциям приложения pages.