YaTube - сервис публикации своего дневника. Есть полный функционал по внесению собственных записей с изображением и подписки на других авторов, их редактирования и удаления. Есть возможность оставлять комментарии. В отличае от hw04_test не реализованы возможности радактировать или удалять собственные отзывы.Классическая MVT архитектура, пагинация, кэширование. Регистрация и верификация пользователей, смена пароля, восстановление через почту. В проект добавлены кастомные страницы ошибок: 404 и 403. Тесты.
Python 3, Django 3/4, MySQL, Unittest, DjangoTemplates, HTML, CSS.
Авторизация в проекте происходит за счёт стандартного модуля django.contrib.auth. Единственное изменение - я заменил стандартный шаблон на собственный, в едином стиле с приложением.
В проекте применяются шаблоны на базе DjangoTemplates.
Все страницы оформлены в едином стиле с применением
Bootstrap v4.3.1. Для наиболее комфортного вывода
данных на страницу применён пагинатор, в шаблоне прописан специальный скрипт позволяющий выводить количество страниц
доступных к просмотру. Причём лишние страницы скрываются. Запросы к базе данных оптимизированы.
Вывод будет примерно таким: « Предыдущая 1 ... 4 5 6 ... 10 Следующая »
Проект покрыт тестами. Результаты выводимые на главной странице закэшированы.
Если вы собираетесь работать из командной строки в windows, вам может потребоваться Bash. скачать его можно по ссылке: GitBash (Git-2.33.0.2-64-bit.exe).
Так же при работе в windows необходимо использовать python вместо python3
Последнюю версию python ищите на официальном сайте https://www.python.org/
Клонировать репозиторий и перейти в него в командной строке:
git clone https://github.com/zhss1983/hw05_tests
cd hw05_tests
Создать и активировать виртуальное окружение:
python -m venv env
- linux
source env/bin/activate
- windows
source env/Scripts/activate
Установить зависимости из файла requirements.txt:
python -m pip install --upgrade pip
pip install -r requirements.txt
Перейти в подкаталог yatube_api и выполнить миграции:
cd yatube_api
python manage.py migrate
Создать администратора (суперпользователя) БД:
python manage.py createsuperuser
Запустить проект:
python manage.py runserver