Yatube - это социальная сеть для публикации личных дневников, где можно создавать свою страницу, на которой можно посмотреть все записи автора. Пользователи могу заходить на чужие страницы, подписываться на авторов и комментировать их записи. Записи можно группировать в сообщества, на странице которого размещены записи разных авторов.
- с помощью Django ORM реализованы основные CRUD-операции, фильтрация объектов, агрегирующие функции;
- аутентификация пользователей, изменение пароля,
реализованные с помощью модуля django.contrib.auth, но с
переопределенными кастомными шаблонами;
- сценарий восстановления пароля реализован путем эмуляции почтового
сервера с сохранением писем в отдельную директорию
/sent_emails
; - для проверки авторизации использован декоратор @login_required;
- сценарий восстановления пароля реализован путем эмуляции почтового
сервера с сохранением писем в отдельную директорию
- применен контекст-процессор для формирования отображения текущего года в шаблоне футера;
- реализованы пагинация постов и кеширование главной станицы;
- отправка поста на email
- Создать виртуальное окружение и подключить его.
python -m venv venv
source venv/Scripts/activate
- Обновить pip
python -m pip install --upgrade pip
- Установить все зависимости из файла requirements.txt
pip install -r requirements.txt
- Создать и применить миграции
python manage.py makemigrations
python manage.py migrate
- Перейти в папку
/yatube
cd yatube/
- Запустите проект
python manage.py runserver
На локальной машине сайт будет доступен по адресу / http://127.0.0.1:8000/
Запуск тестов
python manage.py test