Kết nối Django với database
Tìm hiểu về cấu hình Database
-
Trong file settings.py có tùy chọn về
DATABASES
DATABASES = { "default": { "ENGINE": "django.db.backends.sqlite3", "NAME": "mydatabase", } }
-
Về mặc định Django sẽ kết nối với Sqlite3 với engine là
'django.db.backends.sqlite3'
Giải thích về tùy chọn DATABASES
Về cơ bản DATABASES
là một dict
-
key là tên của database, mặc định là
default
. Nó dùng trong DB routing (mình sẽ có bài viết về nó sau) -
value là cấu hình của nó
-
ENGINE là loại database kết nối. Hiện tại Django hỗ trợ các loại database sau:
- PostgreSQL:
'django.db.backends.postgresql'
. Yêu cầu thư viện psycopg2-binary - MySQL:
'django.db.backends.mysql'
. Yêu cầu thư viện mysqlclient - SQLite3:
'django.db.backends.sqlite3'
- Oracle:
'django.db.backends.oracle'
. Yêu cầu thư viện cx_Oracle
- PostgreSQL:
-
HOST cấu hình địa chỉ máy chủ cơ sở dữ liệu
- Mặc định là chuỗi rỗng ➡️ kết nối đến SQLite3
-
PORT cấu hình kết nối cổng của cơ sở dữ liệu
-
USER cấu hình tên đăng nhập của cơ sở dữ liệu
-
PASSWORD cấu hình mật khẩu đăng nhập cơ sở dữ liệu
-
NAME tên của cơ sở dữ liệu
- Khi dùng SQLite3 nó là đường dẫn của file Sqlite
-
Ngoài ra bạn có thể cấu hình kết nối database khi chạy test tại đây bằng tùy chọn
TEST
-
Ví dụ về cấu hình DATABASES
-
Ví dụ kết nối đến PostgreSQL, với host là
localhost
, port5432
, usernamepostgres
, passwordpostgres
và tên database làdata
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'localhost', 'PORT': 5432, 'USER': 'postgres', 'PASSWORD': 'postgres', 'NAME': 'data', } }
-
Ngoài ra bạn có thể kết hợp với bài viết Đọc file biến môi trường - Environment file (.env) bằng Python để tăng bảo mật cũng như về mặt làm sạch code.
Tài liệu tham khảo
All rights reserved