vowatchka / skillbox_django_blogs

SkillBox: платформа для блога (модули 9-11)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SkillBox: платформа для блога (модули 9-11)

Цель работы

Создайте веб-приложение платформу для блога, позволяющую выполнять следующие действия:

  • регистрация и аутентификация пользователей
  • аутентифицированный пользователь может редактировать информацию “О себе”, имя, фамилию
  • реализуйте возможность публиковать запись блога и прикреплять к ней изображения (используя множественный выбор) для аутентифицированного пользователя
  • неаутентифицированные пользователи могут просматривать список всех записей. Записи должны быть отсортированы по дате создания в порядке убывания.
  • у каждой записи отобразите имя пользователя и первые 100 символов текста записи. Предусмотрите возможность перехода к детальной странице записи, на которой можно будет прочитать текст и посмотреть прикрепленные изображения.
  • реализуйте возможность загрузить несколько записей блога одним файлом csv. В нем должно быть две колонки: текст и дата публикации
  • необязательно: создайте возможность прикрепить и отобразить аватар профиля
  • покройте тестами домашнее задание
  • добавьте интернационализацию и локализацию во все таблицы в Django админ панели
  • добавьте интернационализацию и локализацию во все столбцы моделей Django
  • добавьте интернационализацию и локализацию для самих страниц проекта

Комментарии к реализации

В качестве доступных языков были выбраны:

  • Русский (дефолтный язык платформы для блога)
  • Английский
  • Французский
  • Немецкий

Тексты для французского и немецкого языков полностью переведены с использованием Google переводчика.

Установка

  1. Клонировать репозиторий
    git clone https://github.com/vowatchka/skillbox_django_blogs.git
    cd skillbox_django_blogs
    
  2. Создать и активировать виртуальное окружение
    • Unix/macOS
      python -m venv env
      source env/bin/activate
      
    • Windows
      python -m venv env
      env\Scripts\activate
      
  3. Установить зависимости
    python -m pip install -r requirements.txt
    
  4. Выполнить миграции и создать суперпользователя
    python manage.py makemigrations
    python manage.py migrate
    python manage.py createsuperuser
    
  5. Применить локализацию
    • Применить локализацию для всех языков, поддерживаемых django
      python manage.py compilemessages
      
    • Или применить локализацию только для языков, поддерживаемых в рамках данной работы
      python manage.py compilemessages -l en -l de -l fr -l ru
      
  6. Запустить отладочный сервер
    python manage.py runserver
    
  7. Перейти по адресу http://127.0.0.1:8000/, зарегистрировать нового пользователя и начать работу.

Тесты

python manage.py test

About

SkillBox: платформа для блога (модули 9-11)

License:MIT License


Languages

Language:Python 84.7%Language:HTML 15.3%