Создание сайта на Django: Урок 39, установка базы данных PostgreSQL
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Руководства «Django»
Комментариев: 0

Установка PostgreSQL

Перейдем на официальный сайт, выберем платформу Windows

Кстати, есть официальная инструкция по подключения Postgres в Django.

Далее как на скришноте, переходя по ссылке Download the installer:

И выбираем то, что подчеркнуто, а именно для Windows x86-64:

После скачивания, начинаем установку. Все оставляем по умолчанию. 

Пароль при требовании придумайте любой, я пока что сделал простой: root

Пока наша СУБД устанавливается, давайте установим в наш Django проект модуль psycopg2

В терминале с помощью команды: pip install psycopg2

Результат установки:

(venv) PS C:\Users\Razilator\Desktop\Courses\App\backend> pip install psycopg2
Collecting psycopg2
  Using cached psycopg2-2.9.3-cp310-cp310-win_amd64.whl (1.2 MB)
Installing collected packages: psycopg2
Successfully installed psycopg2-2.9.3

Отлично. После установки финишируем, галочку убираем. В поиске пуска вводим pgAdmin и заходим:

Вводим пароль который мы придумали при установке, в моем случае это root (если вдруг не пускает, можете Reset Master Password):

После успешного входа:

А теперь можете создать базу данных для нашего сайта (нажать левой кнопкой мыши на Базы Данных и создать базу данных):

База создалась:

Теперь нам необходимо настроить Django для работы с созданной базой данных, для этого в настройках settings.py найдите

backend/settings.py

# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

И замените:

# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': '<dbname>',
        'USER': 'postgres',
        'PASSWORD': '<password>',
        'HOST': 'localhost',
        'PORT': 5432,
    }
}

Отлично. Давайте проведем миграции:

(venv) PS C:\Users\Razilator\Desktop\Courses\App\backend> python manage.py makemigrations
No changes detected
(venv) PS C:\Users\Razilator\Desktop\Courses\App\backend> python manage.py migrate       
Operations to perform:
  Apply all migrations: admin, auth, blog, contenttypes, sessions, sites, system, taggit
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying taggit.0001_initial... OK
  Applying taggit.0002_auto_20150616_2121... OK
  Applying taggit.0003_taggeditem_add_unique_index... OK
  Applying taggit.0004_alter_taggeditem_content_type_alter_taggeditem_tag... OK
  Applying taggit.0005_auto_20220424_2025... OK
  Applying blog.0001_initial... OK
  Applying blog.0002_category_article_category... OK
  Applying blog.0003_article_meta_description_article_meta_keywords_and_more... OK
  Applying blog.0004_comment... OK
  Applying blog.0005_article_tags... OK
  Applying blog.0006_alter_article_full_description_and_more... OK
  Applying sessions.0001_initial... OK
  Applying sites.0001_initial... OK
  Applying sites.0002_alter_domain_unique... OK
  Applying system.0001_initial... OK
  Applying system.0002_feedback... OK

Создадим суперпользователя py manage.py createsuperuser

Добавлю пару статей на сайт...

А теперь взглядем в нашу админку базы данных:

Как видите, все таблицы находятся теперь в Postgres. На этом урок окончен. 

Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)