اتصال به دیتابیس (Connect to Database)
می خواهیم «اتصال به دیتابیس» را در جنگو تنظیم کنیم. «تنظیمات (Settings)» یعنی جایی که جنگو می فهمد به کدام سرور وصل شود. سپس «مهاجرت (Migrate)» را اجرا می کنیم تا جداول ساخته شوند. قدم به قدم پیش می رویم.
تنظیمات قبلی: SQLite
پیش فرض پروژه با SQLite است. ساختار DATABASES شبیه این است:
.
.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
.
تغییر به PostgreSQL
حالا باید «موتور (Engine)» را به PostgreSQL عوض کنیم و اطلاعات سرور را وارد کنیم.
.
.
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'
}
}
.
نکته: مقدارها برای هر پروژه فرق دارند. نام، کاربر، رمز و «آدرس سرور (HOST)» و «پورت (PORT)» را از بخش Connectivity & security در RDS بردار.
نام، کاربر، رمز و آدرس
اگر نام دیتابیس مشخص نشود، معمولاً postgres پذیرفته می شود. کاربر و رمز همان هایی هستند که هنگام ساخت دیتابیس گذاشتی. آدرس و پورت را از «Endpoint» و «Port» در کنسول RDS کپی کن.
اجرای مهاجرت ها
پس از ذخیره settings.py، داخل «محیط مجازی (Virtual Environment)» این فرمان را بزن:
python manage.py migrate
با این کار، جداول پایه ساخته می شوند و خطاها مشخص می شوند.
اجرای سرور و بررسی
حالا سرور را اجرا کن و صفحه اصلی را ببین. اعضا خالی است؛ چون هنوز داده ای وارد نشده است.
python manage.py runserver
نکته: برای افزودن داده بعداً از بخش افزودن اعضا استفاده کن.
اتصال به دیتابیس پایه کار است؛ قبل از هر کارِ دیتابیسی، این صفحه را چک کن.
جمع بندی سریع
- ENGINE را روی postgresql بگذار.
- نام، کاربر، رمز، HOST و PORT را کامل کن.
- Endpoint و Port را از RDS بردار.
- فرمان migrate را اجرا کن.
- سرور را اجرا کن و نتیجه را ببین.