پرش به مطلب اصلی

راهنمای اتصال به پایگاه داده در Django

اتصال به mysql

برای اتصال به پایگاه داده mysql در Django، ابتدا باید پکیج mysqlclient را نصب کنید در فایل requirements.txt اضافه کنید. برای نصب این پکیج از دستور زیر استفاده کنید:

pip install mysqlclient

و در فایل run.sh پروژه خود این دستور را اضافه کنید:

apt-get install python3-dev default-libmysqlclient-dev build-essential

سپس باید تنظیمات مربوط به اتصال به پایگاه داده را در فایل settings.py پروژه Django خود انجام دهید. برای این کار، اطلاعات مربوط به پایگاه داده را در قسمت DATABASES فایل settings.py وارد کنید. مثالی از تنظیمات اتصال به پایگاه داده mysql در Django:

import os

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': os.environ.get('DB_NAME'),
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': os.environ.get('DB_HOST'),
'PORT': os.environ.get('DB_PORT'),
}
}

اتصال به postgresql

برای اتصال به پایگاه داده postgresql در Django، ابتدا باید پکیج psycopg2 را نصب کنید و در فایل requirements.txt اضافه کنید. برای نصب این پکیج از دستور زیر استفاده کنید:

pip install psycopg2

در قایل settings.py پروژه خود تنظیمات اتصال به پایگاه داده postgresql را انجام دهید. مثالی از تنظیمات اتصال به پایگاه داده postgresql در Django:

import os

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': os.environ.get('DB_NAME'),
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': os.environ.get('DB_HOST'),
'PORT': os.environ.get('DB_PORT'),
}
}

اتصال با connection pooling (پیشنهادی)

برای استفاده از connection pooling در Django، می‌توانید از پکیج django-db-connection-pool استفاده کنید. برای نصب این پکیج از دستور زیر استفاده کنید:

pip install django-db-connection-pool[all]

سپس باید تنظیمات مربوط به اتصال به پایگاه داده را در فایل settings.py پروژه Django خود انجام دهید. برای این کار، اطلاعات مربوط به پایگاه داده را در قسمت DATABASES فایل settings.py وارد کنید. مثالی از تنظیمات اتصال به پایگاه داده mysql در Django:

import os

DATABASES = {
'default': {
'ENGINE': 'dj_db_conn_pool.backends.mysql',
'NAME': os.environ.get('DB_NAME'),
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': os.environ.get('DB_HOST'),
'PORT': os.environ.get('DB_PORT'),
'POOL_OPTIONS': {
'POOL_SIZE': 10,
'MAX_OVERFLOW': 10,
'RECYCLE': 24 * 60 * 60 # 24H
}
}
}
توجه

پس از انجام تنظیمات اتصال به پایگاه داده، برای اعمال تغییرات باید دستور

python manage.py migrate

را اجرا کنید.