Skip to content

Latest commit

 

History

History
71 lines (58 loc) · 2.87 KB

README.md

File metadata and controls

71 lines (58 loc) · 2.87 KB

Yatube

Описание

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