Ma’lumotlar bazasiga ulanish
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!
