راهنمای اتصال به پایگاه داده در 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
را اجرا کنید.