Что реализовано в сообществе. Создано и зарегистрировано приложение Posts. Подключена база данных. Десять последних записей выводятся на главную страницу. В админ-зоне доступно управление объектами модели Post: можно публиковать новые записи или редактировать/удалять существующие.
Пользователь может перейти на страницу любого сообщества, где отображаются десять последних публикаций из этой группы.
Клонируем проект:
git clone https://github.com/themasterid/hw02_community.git
или
git clone git@github.com:themasterid/hw02_community.git
Переходим в папку с проектом:
cd hw02_community
Устанавливаем виртуальное окружение:
python3 -m venv venv
Активируем виртуальное окружение:
source venv/bin/activate
Для деактивации виртуального окружения выполним (после работы):
deactivate
Устанавливаем зависимости:
python -m pip install --upgrade pip
pip install -r requirements.txt
Применяем миграции:
python yatube/manage.py makemigrations
python yatube/manage.py migrate
Создаем супер пользователя:
python yatube/manage.py createsuperuser
При желании делаем коллекцию статики:
python yatube/manage.py collectstatic
Предварительно сняв комментарий с:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
И закомментировав:
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
Иначе получим ошибку: You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.
В папку с проектом, где файл settings.py добавляем файл .env куда прописываем наши параметры:
SECRET_KEY='Ваш секретный ключ'
ALLOWED_HOSTS='127.0.0.1, localhost'
DEBUG=True
Не забываем добавить в .gitingore файлы:
.env
.venv
Запускаем проект:
python yatube/manage.py runserver localhost:8080
После чего проект будет доступен по адресу http://localhost:8080/
Заходим в http://localhost:8080/admin и создаем группы и записи. После чего записи и группы появятся на главной странице.
Запускаем тестов:
pytest
Автор: Дмитрий Клепиков 👍