Triển khai ứng dụng Django

Last modified by Admin on 2024/01/02 11:07

Mục đích

Ở bài viết này, mình sẽ hướng dẫn deploy một ứng dụng django lên dịch vụ App Engine của BizflyCloud. Đầu tiên, ta cần chuẩn bị sẵn project Django, push lên repo github để có thể deploy. Cụ thể thông tin mình đã chuẩn bị trong bài lab này như sau:

  • Python 3.10.10
  • Django 4.1.7
  • Domain: maihv.click

Các bước triển khai

Với project django, bạn cần tự chuẩn bị sẵn project cho mình. Tại cây thư mục của project, bạn có thể tạo file runtime.txt để lưu thông tin của phiên bản python đang sử dụng.

image2023-3-9_10-10-56.png

Tiếp theo ta cần xuất thư việc đang sử dụng của python ra file. Để thực hiện việc này, bạn sử dụng lệnh sau

pip freeze > requirements.txt

image2023-3-9_10-12-45.png

Đối với ứng dụng python , để chạy trên app engine, bạn cần file Procfile để chứa câu lệnh chạy ứng dụng. Cụ thể khi chạy ứng dụng Django, ta sẽ chạy như sau:

python manage.py runserver 0.0.0.0:8000

như vậy trên Procfile ta có thể điền như sau:

image2023-3-9_10-15-18.png

Như vậy là bạn đã chuẩn bị xong. Giờ bạn có thể push ứng dụng này lên github

image2023-3-9_10-17-47.png

Tiếp theo, ta sẽ khởi tạo ứng dụng trên dịch vụ App Engine. Bạn có thể tham khảo các mục cấu hình như sau:

image2023-3-9_10-26-52.png

Cấu hình xong, nhận Xác nhận để hoàn thành. Ta được kết quả sau:

image2023-3-9_10-41-14.png

Lưu ý

Khi deploy ứng dụng với domain, thường django sẽ không chạy do chưa cấu hình allow host nên domain chưa được trust. Ở đây mình cần thêm domain vào ALLOWED_HOSTS trên file settings.py như sau:

ALLOWED_HOSTS = ['maihv.click', '0.0.0.0']

image2023-3-9_10-30-6.png

Đối với một số project sử dụng chức năng admin, bạn cần thêm cấu hình trust origin để có thể đăng nhập được vào trang admin. Ta thêm cấu hình này vào file settings.py như sau:

CSRF_TRUSTED_ORIGINS = ['https://maihv.click']

image2023-3-9_10-33-24.png