Публикации, комментарии и лента любимых авторов.
Учебный проект
Русский · English · Профиль
Учебная блог-платформа на Django: публикации, тематические группы, комментарии и подписки на авторов. В репозитории собрана версия Yatube с тестами приложения и настройками Django Debug Toolbar.
- Регистрация, вход и профили авторов.
- Создание текстовых постов и редактирование собственных публикаций.
- Тематические группы и пагинация лент.
- Изображения в публикациях, комментарии и страницы отдельных записей.
- Подписка и отписка от авторов, отдельная лента подписок.
- Кеширование блока главной ленты на 20 секунд.
- Страницы ошибок и админ-панель Django.
Учебные этапы проекта: сообщества · формы · тесты · финальный этап.
git clone https://github.com/artemleonich/yatube_project.git
cd yatube_project
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
# Dependencies used by the project but missing from requirements.txt
python -m pip install Pillow==8.3.1 sorl-thumbnail==12.7.0
python yatube/manage.py migrate
python yatube/manage.py createsuperuser
python yatube/manage.py runserverВ Windows PowerShell: .venv\Scripts\Activate.ps1.
Приложение доступно по адресу 127.0.0.1:8000. Суперпользователь нужен для админ-панели, где можно создать тематические группы.
В requirements.txt отсутствуют Pillow и sorl-thumbnail, хотя они используются приложением. Отдельная команда выше добавляет версии из учебного hw05_final; файл зависимостей в этом репозитории сохранён в исходном виде.
Тесты приложения запускаются из корня репозитория через Django:
python yatube/manage.py test posts about coreВ yatube/posts/tests/ находятся проверки моделей, маршрутов, представлений и форм.
| Путь | Назначение |
|---|---|
| yatube/posts/ | Посты, комментарии, подписки и формы |
| yatube/users/ | Регистрация и авторизация |
| yatube/core/ | Страницы ошибок и общие функции |
| yatube/templates/ | HTML-шаблоны |
| yatube/posts/tests/ | Тесты приложения |
| yatube/yatube/settings.py | SQLite, медиафайлы и кеш |
Сохранён учебный стек Django 2.2. Запуск на новых версиях Python может потребовать адаптации окружения. В текущей реализации картинку можно загрузить при редактировании поста; форма создания не обрабатывает файлы.
English overview
A Django learning project with posts, groups, images, comments, author follows and a following feed. Application tests use Django TestCase. The requirements file is missing Pillow and sorl-thumbnail; install the supplemental versions shown above to reproduce the image-related dependencies from the final learning stage.
Create a virtual environment, install the dependencies, run python yatube/manage.py migrate, optionally create an admin account, then start python yatube/manage.py runserver. Run python yatube/manage.py test posts about core for Django tests.
The code retains the original Django 2.2 learning stack. Image uploads are handled when editing a post; the creation view does not process uploaded files. The main feed fragment is cached for twenty seconds.
Автор: Артём Леонов.
Лицензия: MIT.