Skip to content

Munchen777/django-website

Repository files navigation

Megano Django Website

Оглавление:

Описание проекта

Вебсайт для интернет-магазина Megano. Занимается продажей электроники, бытовой техники и электротоваров.

Технологии:

  • Django
  • Django Rest Framework

Схема таблиц базы данных:

Все модели таблиц БД и связи между ними представлены в файле core/db_models_schema.svg.
Если ваша среда разработки не открывает данный файл, вы можете перейти по ссылке db_models_shcema и открыть файл в онлайн-редакторе draw.io.
В файле, также, есть текстовое описание логики работы таблиц и предназначение некоторых полей.

Команда:

  • Сергей тимлид
  • Иван
  • Бекхан
  • Сергей
  • Владимир
  • Георгий

Требования:

  • Перед запуском django-проекта необходимо установить интерпретатор Python 3.12
  • Для работы с базой данных PostgreSQL вам понадобится установить pgAdmin4 либо DBeaver

Запуск проекта:

  1. Настроить подключение по SSH
  • Установка SSH-клиента:

    • Linux

      • Для работы с SSH необходимо установить специальную программу на локальной машине (Linux), реализующую SSH-подключение (SSH-клиент)
      • В большинстве случаев на Linux (например, Ubuntu, Linux Mint) инструменты для работы с SSH уже установлены. Если их нет, установите пакет следующим образом:
      apt update && apt upgrade -y && apt install -y openssh-client
    • MacOS

      • На macOS клиент SSH доступен по умолчанию. Также вы можете воспользоваться сторонними утилитами с графическим интерфейсом, например Termuis
    • Windows

      • Для работы с SSH на Windows можно активировать встроенный SSH-клиент или установить сторонний инструмент, через который проще управлять подключениями. Также на Windows есть и более старые, но тоже популярные программы для работы с SSH:PuTTY
  • Выпуск ключей в терминале

  • Перейдите в терминал и выполните команду:

    • ssh-keygen -b 2048 -t rsa
    • В терминале вы увидите вопрос о том, куда сохранить новый ключ. Не меняя ничего, нажмите Enter (или Return на Mac), чтобы продолжить:
    • Generating public/private rsa key pair.
      Enter file in which to save the key (/root/.ssh/id_rsa):
    • Если директории под SSH-ключи не было, вас уведомят, что она создана:
    • Created directory '/root/.ssh'.
    • Если в настоящее время вы используете доступ к серверу с помощью пароля, вы можете скопировать ваш публичный ключ на сервер, воспользовавшись данной командой:
    • ssh-copy-id <remote_host>
    • Теперь вы можете подлючиться к серверу по SSH командой:
    • ssh <remote_host>

  1. Клонируем репозиторий https://gitlab.skillbox.ru/pythondjango_team43/djangowebsite и переходим в папку проекта:
cd website
  1. Создать и активировать виртуальное окружение:
  • Windows
python -m venv venv
venv\Scripts\activate
  • macOS / Linux
python3 -m venv venv
source venv/bin/activate
  1. Установка зависимостей:
pip install -r requirements.txt
  1. Создайте файл с переменными окружения:
touch .env
  1. Заполните переменные окружения в новосозданном файле .env: SMTP-сервер почтового клиента EMAIL_HOST = 'smtp.yandex.com' - Yandex. Если вы хотите использовать другой почтовый клиент, например gmail, исправьте на EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USER='адрес электронной почты'
EMAIL_PASSWORD='пароль от почты'
  • Порядок накатывания миграций перед первым запуском проекта

Переопределение стандартной модели пользователя (User) в Django, вызывает ряд ошибок при накатывании миграций, если не следовать следующему порядку:

  1. Cоздайте миграции
python manage.py makemigrations
  1. Накатите миграции стандартного приложения auth
python manage.py migrate auth
  1. Накатите все оставшиеся миграции
python manage.py migrate

Теперь вы можете создать суперпользователя (python manage.py createsuperuser) и запустить проект.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published