Сайт Yatube представляет собой социальную сеть, где каждый зарегистрированный пользователь может создавать посты, оставлять к ним комментарии, подписывать на других авторов, создавать группы для постов одной тематики.
/author/- Информация о создателе сайта/tech/- Стек технологий/create/- Создание нового поста (доступно авторизованному пользователю)/group/tolstoy/- Группа произведений Льва Толстого/profile/leo/- Все посты пользователя Лев Толстой/posts/37/- Страница поста/posts/37/edit/- Редактирование поста (доступно автору поста)/posts/37/comment/- Оставить комментарий к посту (доступно авторизованному пользователю)/follow/- Страница избранных авторов (доступно авторизованному пользователю)/profile/leo/follow/- Подписаться на пользователя (доступно авторизованному пользователю)/profile/leo/unfollow/- Отписаться от пользователя (доступно авторизованному пользователю)
-
Post
text- Текст постаpub_date- Дата публикации постаauthor- Автор постаgroup- Сообщество постаimage- Картинка поста
-
Group
title- Название группыslug- Адрес группыdescription- Описание группы
-
Comment
post- Пост, к которому написан комментарийauthor- Автор комментарияtext- Текст комментарияcreated- Дата создания комментария
-
Follow
user- Подписки пользователяauthor- Авторизованный пользователь
index- передаёт в шаблонposts/index.htmlобъекты моделиPost, отсортированные по дате публикацииgroup_posts- передаёт в шаблонposts/group_list.htmlпосты, отфильтрованные по группамprofile- передаёт в шаблонposts/profile.htmlинформацию о пользователеpost_detail- передаёт в шаблонposts/post_detail.htmlдетальную информацию о постеpost_create- передаёт в шаблонposts/create_post.htmlформу для создания постаpost_edit- передаёт в шаблонposts/create_post.htmlформу для редактирования постаadd_comment- передаёт в шаблонposts/post_detail.htmlформу для добавления комментария к постуfollow_index- передаёт в шаблонposts/follow.htmlпосты автора, на которого подписан пользовательprofile_follow- позволяет подписываться на определенного пользователяprofile_unfollow- позволяет отписываться от определенного пользователя
- клонировать проект на компьютер
git clone https://github.com/foxygen-d/yatube_website.git - создание виртуального окружения
python3 -m venv venv - запуск виртуального окружения
. venv/bin/activate - установить зависимости из файла requirements.txt
pip install -r requirements.txt - запуск тестов
pytest - запуск проекта
python3 manage.py runserver
- Python 3.7
- Django 2.2.16
- Works on Linux, Windows, macOS