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ề
DATABASESDATABASES = { "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, passwordpostgresvà tên database làdataDATABASES = { '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