Создайте веб-приложение платформу для блога, позволяющую выполнять следующие действия:
- регистрация и аутентификация пользователей
- аутентифицированный пользователь может редактировать информацию “О себе”, имя, фамилию
- реализуйте возможность публиковать запись блога и прикреплять к ней изображения (используя множественный выбор) для аутентифицированного пользователя
- неаутентифицированные пользователи могут просматривать список всех записей. Записи должны быть отсортированы по дате создания в порядке убывания.
- у каждой записи отобразите имя пользователя и первые 100 символов текста записи. Предусмотрите возможность перехода к детальной странице записи, на которой можно будет прочитать текст и посмотреть прикрепленные изображения.
- реализуйте возможность загрузить несколько записей блога одним файлом csv. В нем должно быть две колонки: текст и дата публикации
- необязательно: создайте возможность прикрепить и отобразить аватар профиля
- покройте тестами домашнее задание
- добавьте интернационализацию и локализацию во все таблицы в Django админ панели
- добавьте интернационализацию и локализацию во все столбцы моделей Django
- добавьте интернационализацию и локализацию для самих страниц проекта
В качестве доступных языков были выбраны:
- Русский (дефолтный язык платформы для блога)
- Английский
- Французский
- Немецкий
Тексты для французского и немецкого языков полностью переведены с использованием Google переводчика.
- Клонировать репозиторий
git clone https://github.com/vowatchka/skillbox_django_blogs.git cd skillbox_django_blogs
- Создать и активировать виртуальное окружение
- Unix/macOS
python -m venv env source env/bin/activate
- Windows
python -m venv env env\Scripts\activate
- Unix/macOS
- Установить зависимости
python -m pip install -r requirements.txt
- Выполнить миграции и создать суперпользователя
python manage.py makemigrations python manage.py migrate python manage.py createsuperuser
- Применить локализацию
- Применить локализацию для всех языков, поддерживаемых django
python manage.py compilemessages
- Или применить локализацию только для языков, поддерживаемых в рамках данной работы
python manage.py compilemessages -l en -l de -l fr -l ru
- Применить локализацию для всех языков, поддерживаемых django
- Запустить отладочный сервер
python manage.py runserver
- Перейти по адресу http://127.0.0.1:8000/, зарегистрировать нового пользователя и начать работу.
python manage.py test