Blogicum - это блоговая платформа на базе Django, которая позволяет пользователям создавать и публиковать свои собственные блоги, а так же комментировать их. Она предоставляет простой и интуитивно понятный интерфейс для управления записями, категориями и статическими страницами.
Вот перечень задач, которые нужно было выполнить:
Подключите к проекту и настройте кастомные страницы для ошибок 403 CSRF,
404 и 500. Шаблоны для этих страниц находятся в директории templates/pages/.
Подключены к проекту пользователи:
-
Подключено к проекту пути для работы с пользователями из django.contrib.auth.urls.
-
Переопределены шаблоны для каждой подключённой страницы.
-
Создана страница auth/registration/ с формой для регистрации пользователей.
-
Создана страница пользователя profile//. На ней должны отображаться:
a. информация о пользователе (доступна всем посетителям),
b. публикации пользователя (доступны всем посетителям),
c. ссылка на страницу редактирования профиля для изменения имени, фамилии, логина и адреса электронной почты (доступна только залогиненному пользователю — хозяину аккаунта),
d. ссылка на страницу изменения пароля (доступна только залогиненному пользователю — хозяину аккаунта).
Переопределять встроенную модель пользователя не требуется.
Подключена к проекту пагинация и настроен вывод не более 10 публикаций
-
на главную страницу,
-
на страницу пользователя,
-
на страницу категории.
Добавил возможность прикреплять изображение к публикациям проекта. Если изображение добавлено, то оно должно отображаться в публикациях на
-
главной странице,
-
странице пользователя,
-
странице категории,
-
отдельной странице публикации.
У зарегистрированных пользователей должна быть возможность самостоятельно публиковать посты. Создал страницу для публикации новых записей posts/create/:
-
Страница добавления публикации должна быть доступна только авторизованным пользователям.
-
После валидации формы и добавления новой публикации пользователь должен быть перенаправлен на свою страницу profile//.
-
Новые категории и местоположения может создавать только администратор сайта через панель администратора.
-
Указав дату публикации «в будущем», можно создавать отложенные посты. Они должны стать доступны всем посетителям с момента, указанного в поле «Дата». Отложенные публикации должны быть доступны автору сразу же после отправки; автор должен видеть на своей странице все свои публикации, включая отложенные и снятые с публикации администратором.
Добавил страницу редактирования публикации с адресом posts/<post_id>/edit/.
-
Права на редактирование должны быть только у автора публикации. Остальные пользователи должны перенаправляться на страницу просмотра поста.
-
Для страницы редактирования поста должен применяться тот же HTML-шаблон, что и для страницы создания нового поста: blog/create.html.
-
После окончания редактирования пользователь должен переадресовываться на страницу отредактированной публикации.
Создал систему комментирования записей. На странице поста под текстом записи должна выводиться форма для отправки комментария, а ниже — список комментариев.
-
Комментарии должны быть отсортированы по времени их публикации, «от старых к новым».
-
Комментировать публикации могут только авторизованные пользователи.
-
Авторы комментариев должны иметь возможность отредактировать собственные комментарии.
-
Для каждой публикации на
-
главной странице,
-
странице пользователя,
-
странице категории
нужно выводить количество комментариев.
-
Адрес для добавления комментария posts/<post_id>/comment/
-
Адрес для редактирования комментария posts/<post_id>/edit_comment/<comment_id>/
Авторизованные пользователи должны иметь возможность удалять собственные публикации и комментарии. Перед удалением материала должна открываться подтверждающая страница, содержащая публикацию или комментарий. Для подтверждающей страницы не надо создавать отдельные шаблоны; для этого необходимо переиспользовать существующие шаблоны, необходимая логика в них уже присутствует.
-
Адрес для удаления публикации posts/<post_id>/delete/
-
Адрес для удаления комментария posts/<post_id>/delete_comment/<comment_id>/
Обновите механизм создания и изменения статичных страниц в проекте, используя CBV. Адреса уже существующих статичных страниц не должны измениться.
Предыдущая версия https://github.com/SHURSHALO/Blogicum_sprint3
- Клонируйте репозиторий на свою локальную машину:
git clone git@github.com:SHURSHALO/Blogicum_FINAL_sprint4.git
- Перейдите в директорию проекта:
cd Blogicum_FINAL_sprint4
- Создайте и активируйте виртуальное окружение (опционально):
py -3.9 -m venv venv
source venv/Scripts/activate
- Установите необходимые зависимости:
pip install -r requirements.txt
- Примените миграции базы данных:
cd blogicum
python manage.py migrate
- Создайте суперпользователя:
python manage.py createsuperuser
python manage.py runserver
Откройте веб-браузер и перейдите по адресу http://localhost:8000/, чтобы получить доступ к приложению Blogicum.
Админка доступна по адресу http://127.0.0.1:8000/admin/