Cách sử dụng PostgreSQL trên ứng dụng Django

Bài viết này, LANIT sẽ chia sẻ cách sử dụng PostgreSQL trên ứng dụng Django chi tiết nhất. Theo dõi ngay nhé!

Tạo môi trường ảo

Bước đầu tiên để bắt đầu với Django là tạo môi trường ảo. Nếu bạn chưa cài đặt “virtualenv”, thì chỉ cần cài đặt với “pip”:

sudo pip install virtualenv

Chúng ta sẽ tạo một thư mục dự án có tên là “myproject” trong thư mục “/var”:

mkdir /var/myproject
cd /var/myproject

Sau đó, bạn sẽ cần sử dụng “virtualenv” để tạo một vị trí cho các phụ thuộc dành riêng cho môi trường được cài đặt:

[root@pga /]# virtualenv /var/myproject/myprojectenv
Using base prefix '/opt/rh/rh-python36/root/usr'
New python executable in /var/myproject/myprojectenv/bin/python3
Also creating executable in /var/myproject/myprojectenv/bin/python
Installing setuptools, pip, wheel...done.
[root@pga /]# ls /var/myproject/myprojectenv/
bin  include  lib  lib64

Sau đó, kích hoạt môi trường:

[root@pga /]# python --version
Python 2.7.5
[root@pga /]# source /var/myproject/myprojectenv/bin/activate
(myprojectenv) [root@pga /]# python --version
Python 3.6.3

Để Python hoạt động với Postgres, bạn cần cài đặt mô-đun “psycopg2”. Tuy nhiên, trước tiên bạn phải cài đặt pg_config trên HĐH của mình:

[root@pga /]# pg_config
bash: pg_config: command not found
[root@pga /]# export PATH=/usr/pgsql-12/bin/:${PATH}
[root@pga /]# which pg_config
/usr/pgsql-12/bin/pg_config

Nếu bạn không thể tìm thấy pg_config trên HĐH của mình, trước tiên bạn cần cài đặt ứng dụng khách Postgres. Sau khi bạn đảm bảo pg_config khả dụng trên hệ thống của mình, hãy tiếp tục và cài đặt “psycopg2”:

# pip install psycopg2

Cài đặt Django

Khi chúng ta đã kích hoạt môi trường ảo, chúng ta có thể cài đặt Django vào môi trường đó để giữ cho mọi thứ trong dự án của bạn không can thiệp vào Hệ điều hành máy chủ:

# pip install django

Khi Django đã được cài đặt, bạn có thể bắt đầu một dự án Django mới:

(myprojectenv) [root@pga bin]# pwd
/var/myproject/myprojectenv/bin
(myprojectenv) [root@pga bin]# django-admin.py startproject myproject .

Theo mặc định, Django được định cấu hình để sử dụng SQLite làm chương trình phụ trợ. Để sử dụng Postgres, “myproject/settings.py” cần được cập nhật:

# cat myproject/settings.py
. . .
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': ‘<db_name>’,
        'USER': '<db_username>',
        'PASSWORD': '<password>',
        'HOST': '<db_hostname_or_ip>',
        'PORT': '<db_port>',
    }
}
. . .

Khi bạn đã có những thứ được trỏ đến cơ sở dữ liệu Postgres, bạn có thể xây dựng lược đồ mặc định. Nếu bạn chưa biết, thì Django được thiết kế dành cho quyền truy cập của người dùng, do đó, theo mặc định, ứng dụng Django sẽ tạo một lược đồ cơ sở dữ liệu liên quan đến người dùng, nhóm và quyền. Để tạo lược đồ, hãy tạo một di chuyển và chạy nó:

(myprojectenv) [root@pga bin]# python manage.py makemigrations
No changes detected
(myprojectenv) [root@pga bin]# python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial… OK
Applying auth.0001_initial… OK
Applying admin.0001_initial… OK
Applying admin.0002_logentry_remove_auto_add… OK

Applying admin.0003_logentry_add_action_flag_choices… OK
Applying contenttypes.0002_remove_content_type_name… OK
Applying auth.0002_alter_permission_name_max_length… OK
Applying auth.0003_alter_user_email_max_length… OK
Applying auth.0004_alter_user_username_opts… OK
Applying auth.0005_alter_user_last_login_null… OK
Applying auth.0006_require_contenttypes_0002… OK
Applying auth.0007_alter_validators_add_error_messages… OK
Applying auth.0008_alter_user_username_max_length… OK
Applying auth.0009_alter_user_last_name_max_length… OK
Applying auth.0010_alter_group_name_max_length… OK
Applying auth.0011_update_proxy_permissions… OK
Applying sessions.0001_initial… OK
(myprojectenv) [root@pga bin]#

Sau khi tạo schema mặc định, hãy tạo superuser mặc định:

(myprojectenv) [root@pga bin]# python manage.py createsuperuser
Username (leave blank to use 'root'): richyen
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.
(myprojectenv) [root@pga bin]# 

Khởi động ứng dụng và trỏ trình duyệt của bạn đến cổng tương ứng:

(myprojectenv) [root@pga bin]# python manage.py runserver 0.0.0.0:5000
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 06, 2019 - 07:06:22
Django version 3.0, using settings 'myproject.settings'
Starting development server at http://0.0.0.0:5000/
Quit the server with CONTROL-C.
Cách sử dụng PostgreSQL trên ứng dụng Django Chi Tiết
Cách sử dụng PostgreSQL trên ứng dụng Django Chi Tiết

Để xác minh rằng superuser của bạn hoạt động, hãy truy cập trang “/admin”:

Cách sử dụng PostgreSQL trên ứng dụng Django Chi Tiết
Cách sử dụng PostgreSQL trên ứng dụng Django Chi Tiết

Nhập mật khẩu.

Cách sử dụng PostgreSQL trên ứng dụng Django Chi Tiết
Cách sử dụng PostgreSQL trên ứng dụng Django Chi Tiết

Kết luận

Trên đây LANIT đã chia sẻ cách cài đặt

avata Hải

Triệu Huyền Trang

Triệu Huyền Trang chuyên gia 3 năm kinh nghiệm trong ngành Công Nghệ, Phần Mềm. Chuyên chia sẻ các kiến thức phần mềm mã nguồn, ứng dụng và thông tin về công nghệ hữu ích.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!