Kết nối Django và PostgreSQL như thế nào

Tram Ho

Ở bài viết lần này mình sẽ chia sẻ về một vấn đề không hề liên quan gì đến Machine Learning hoặc Deep Learning hay những vấn đề xoay quanh. Tuy nhiên, bên cạnh học về những kiến thức về 2 mảng mình nhắc đến ở đây thì SQL hay một Framework để tạo app cũng cực kỳ quan trọng. Vì vậy, ở trong post này mình sẽ chia sẻ về cách tạo Django Web cũng như cách kết nối với SQL – PostgreSQL.

Bài viết gồm:

  • Install Django và PostgreSQL
  • Create User và Database với PosgreSQL
  • Create project Django, Connect Django và PosgreSQL

Nào chúng ta cùng bắt đầu thôi!

Install Django và PostgreSQL

Tạo môi trường

Đầu tiên mình sẽ tạo môi trường với *virtualenv *:

  • Install:
  • Tạo môi trường:
  • Sử dụng:

    Khi không muốn sử dụng nữa thì mn deactivate nó đi là xong.

Install PostgreSQL

Install Django và postgresql sử dụng trong Django

  • Django
  • psycopg2

pyscopg2 là package được sử dụng trong Django để sử dụng PostgreSQL database

Create User và Database với PostgreSQL

Đầu tiên bật terminal lên đã nào ✌️

  • create user
    CREATE USER myprojectuser WITH PASSWORD 'mypassword';
  • create database và cấp quyền cho người dùng mới
    CREATE DATABASE myprojectdb WITH OWNER myprojectuser;
    mọi người có thể tham khảo ở đây nhé.

Create project Django, Connect Django và PostgreSQL

Bây giờ chính là lúc chúng ta tạo một Django project rồi. Copy hoặc gõ theo lệnh dưới đây nhé, tuy nhiên bạn đừng quên dấu ” . ” ở phía sau nhé:

Django-admin startproject myproject .

Sau khi đã tạo thành công project thì chúng ta sẽ cùng kết nối Django với PostgreSQL database:

Khi khởi tạo một project với django, django sẽ tự động tạo ra một cơ sở dữ liệu SQLite, được gọi là db.sqlite3 trong thư mục chính của project và kết nối tới app của bạn, code ở trong file setting.py:

Và chúng ta cần phải thay đổi để Django sử dụng PostgreSQL thay vì SQLite:
Giá trị của ENGINE sẽ được thay đổi thành:

Các trường NAME, USER, PASSWORD là những trường đã được mình tạo với Postgres database ở trên. HOST sẽ là localhost trong quá trình phát triển, và Postgres sẽ được chạy mặc định trên PORT 5432. Cụ thể như sau:

Chúng ta sẽ vào file setting.py để thay đổi và nhớ lưu lại nhé ^_^:

Quay trở lại với terminal, cùng ở thư mục myproject và run:

Sau khi tạo xong 2 dòng lệnh này sẽ được như sau:

Tiếp theo chúng ta sẽ làm gì nhỉ? tất nhiên là tạo superuser để chắc chắn rằng chúng ta có thể thao tác với cơ sở dữ liệu cũng như truy cập đến Django admin site

chạy lệnh trên vào điền theo yêu cầu. Sau khi superuser được tạo, bây giờ mọi thứ đã được setup, cùng thử run Django server lên nhé.

python manage.py runserver

Sau khi chạy xong câu lệnh ở trên có thì chúng ta được như thế này:

Mở link được vẽ lại, vậy là đã tạo thành công Django Web App:

Thêm /admin để chuyển hướng đến trang admin, sau đó đăng nhập theo superuser đã được tạo ở trên.

Kết Luận

Cảm ơn mọi người đã đọc bài viết, nếu bài viết có gì chưa đúng hay còn thiếu mong được sự góp ý của mn ạ

Reference

https://tecadmin.net/install-postgresql-server-on-ubuntu/
https://medium.com/agatha-codes/painless-postgresql-django-d4f03364989

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo