Ma’lumotlar bazasiga ulanish


ULASHISH

Sozlamalarni o‘zgartirish

Django ma’lumotlar bazangizga ulana olishi uchun uni settings.py faylidagi DATABASES tuple’ida ko‘rsatishingiz kerak.

Avval u quyidagicha edi:

SQLite

my_tennis_club/my_tennis_club/settings.py:

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

Endi uni quyidagi ko‘rinishga keltirishingiz kerak:

PostgreSQL

my_tennis_club/my_tennis_club/settings.py:

.
.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'masteruser',
        'PASSWORD': '12345678',
        'HOST': 'w3-django-project.cdxmgq9zqqlr.us-east-1.rds.amazonaws.com',
        'PORT': '5432'
    }
}
.

Eslatma: Sizning loyihangizda qiymatlar boshqacha bo‘ladi.


Engine (dvijok)?

settings.py faylida ko‘rib turganingizdek, sqlite o‘rniga postgresql qiymatini kiritamiz.



Name (nom)?

Ma’lumotlar bazasining nomi yo‘q, ammo unga murojaat qilish uchun nom berishingiz kerak.

Agar nom berilmasa, provayder ma’lumotlar bazasi nomi sifatida 'postgres' qiymatini qabul qiladi.


Foydalanuvchi nomi va parol?

Ma’lumotlar bazasini yaratishda ko‘rsatgan foydalanuvchi nomi va parolni kiriting.


Host? Port?

settings.py faylida ko‘rib turganingizdek, sqlite o‘rniga postgresql qiymatini kiritamiz hamda ma’lumotlar bazasini yaratishda ko‘rsatgan foydalanuvchi nomi va parolni yozamiz.

HOST va PORT qiymatlarini RDS instance’ining "Connectivity & security" bo‘limidan topish mumkin. Ular "Endpoint" va "Port" deb ko‘rsatilgan:

Mening loyihamda ular quyidagicha:

'HOST': 'w3-django-project.cdxmgq9zqqlr.us-east-1.rds.amazonaws.com'
'PORT': '5432'


Migratsiya (migrate)

settings.py fayliga o‘zgartirishlar kiritganimizdan so‘ng, ular kuchga kirishi uchun virtual muhitimizda migratsiyani ishga tushirishimiz kerak:

python manage.py migrate

Bu quyidagi natijani beradi:

Operations to perform:   Apply all migrations: admin, auth, contenttypes, members, sessions 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 members.0001_initial... OK   Applying members.0002_members_delete_member... OK   Applying members.0003_rename_members_member... OK   Applying sessions.0001_initial... OK

Endi loyihani ishga tushirsangiz:

python manage.py runserver

Va uni brauzeringizda ko‘ring: 127.0.0.1:8000/.

Loyihaning bosh sahifasi ochiladi, ammo "members" havolasini bossangiz, hech qanday a’zo yo‘qligini ko‘rasiz.

Buning sababi — ma’lumotlar bazasi bo‘sh. Keyingi bobda ma’lumotlar bazasini a’zolar bilan to‘ldiramiz.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!