Django là một web framework mã nguồn mở miễn phí được viết bằng Python, có khả năng mở rộng kèm tính nhất quán cao. Ngoài ra, web framework này còn mang tính tái sử dụng, do đó Django rất phù hợp với nhu cầu phát triển liên tục. Bài viết này sẽ hướng dẫn chi tiết cách cài đặt Django và development trên Ubuntu 20.04.
Bước 1 – Cài đặt Django
Tại đây, bạn sẽ thiết lập một môi trường Django để phát triển trên server Ubuntu 20.04. Đối với live website thì bạn sẽ kết nối với một cơ sở dữ liệu, thiết lập tên miền và bổ sung các lớp bảo mật cho trang web.
Để bắt đầu hướng dẫn, ta cần có một tài khoản non-root với quyền sudo. Bên cạnh đó cũng cần cài đặt sẵn Python 3 và một môi trường lập trình ảo.
Nếu bạn đang có nhu cầu phát triển ứng dụng web dựa trên framework như Django thì một máy chủ linh hoạt, cấu hình mạnh mẽ, phù hợp với nhiều ngôn ngữ và hỗ trợ đa dạng hệ điều hành như VPS là lựa chọn hàng đầu.
Hiện tại, các gói VPS tốc độ cao tại Vietnix có cấu hình đa dạng, dễ dàng mở rộng theo nhu cầu sử dụng và hỗ trợ đa dạng hệ điều hành có thể giúp bạn triển khai ứng dụng Django hiệu quả.
Có nhiều cách khác nhau để cài đặt Django, trong đó cách phổ biến nhất là sử dụng pip
trong môi trường ảo.
Trước tiên, chạy lệnh dưới đây trong home directory để tạo thư mục django-apps
(hoặc bất kỳ tên nào khác) để chứa ứng dụng Django.
mkdir django-apps
cd django-apps
Ở trong thư mục django-apps
, tạo môi trường ảo có tên env
:
virtualenv env
Sau đó activate môi trường này:
. env/bin/activate
Khi đã được activate thành công thì prompt sẽ có phần (env)
ở phía trước:
(env) vietnix@ubuntu:$
Bên trong môi trường này, ta sẽ cài đặt Django bằng pip
:
pip install django
Sau đó kiểm tra xem Django đã được cài đặt thành công chưa:
django-admin --version
Output:
3.0.6
Như vậy là ta đã cài đặt thành công Django phiên bản 3.0.6
.
Bước 2 – Thay đổi cấu hình tường lửa
Bây giờ ta cần phải mở port cần sử dụng trong tường lửa. Đối với tường lửa UFW, ta có thể chạy lệnh dưới đây để mở một port:
sudo ufw allow 8000
Bước 3 – Khởi động project
Bây giờ ta có thể khởi tạo một ứng dụng bằng django-admin
– một công cụ command line cho các tác vụ quản trị trong Python. Sau đó dùng lệnh startproject
để tạo một cấu trúc thư mục project cho website.
Chạy lệnh sau trong thư mục django-apps
:
django-admin startproject testsite
Lưu ý: Khi chạy lệnh django-admin startproject <projectname>
, cả thư mục project và package project đều sẽ có tên là <projectname>
. Ngoài ra lệnh cũng tạo một project trong thư mục mà lệnh được chạy. Nếu có tham số <destination>
trong lệnh thì Django sẽ sử dụng thư mục đích được chỉ định làm thư mục project, đồng thời tạo manage.py
và package project bên trong đó.
Tiếp theo, vào thư mục testsite
rồi kiểm tra xem ta đã tạo những file gì:
cd testsite
ls
Output:
manage.py testsite
Trong output có chứa một file manage.py
và thư mục testsite
. File manage.py
cũng tương tự như django-admin
và đặt package của project vào sys.path
. Ngoài ra biến môi trường DJANGO_SETTINGS_MODULE
cũng được trỏ đến file settings.py
của project.
Ta có thể xem script của file manage.py
bằng lệnh sau:
less manage.py
Sau khi đọc xong thì hãy nhấn q
để thoát.
Tiếp theo, vào thư mục testsite
để kiểm tra các file khác được tạo:
cd testsite/
ls
Output gồm 4 file như sau:
Output
__init__.py asgi.py settings.py urls.py wsgi.py
Trong đó:
__init__.py
khởi tạo project Pythonasgi.py
chứa cấu hình phần deploy của Asynchronous Server Gateway Interface (ASGI), cung cấp một tiêu chuẩn cho các ứng dụng đồng bộ hoặc không đồng bộ.settings.py
mô tả cấu hình cài đặt của Django, cho phép Django biết thiết lập nào đang khả dụng.urls.py
chứa một danh sáchurlpatterns
, có nhiệm vụ định tuyến và ánh xạ URL vào cácviews
tương ứng.wsgi.py
chứa cấu hình cho Web Server Gateway Interface (WSGI), cung cấp một tiêu chuẩn cho các ứng dụng Python đồng bộ.
Người dùng có thể thay đổi file asgi.py
hoặc wsgi.py
để phù hợp với nhu cầu deploy của mình.
Bước 4 – Cấu hình Django
Bây giờ ta sẽ khởi động server và kiểm tra website trên một host và port định sẵn thông qua lệnh runserver
.
Trước tiên, ta cần thêm địa chỉ IP vào danh sách ALLOWED_HOSTS
trong file settings.py
ở thư mục ~/test_django_app/testsite/testsite/
.
Biến ALLOWED_HOSTS
chứa một danh sách các xâu biểu diễn tên host hoặc tên miền mà trang Django này có thể cung cấp. Đây là một phương pháp bảo mật giúp ngăn chặn các cuộc tấn công header HTTP Host.
Chạy lệnh dưới đây để thêm địa chỉ IP:
nano ~/django-apps/testsite/testsite/settings.py
Sau đó đến phần Allowed Hosts rồi thêm địa chỉ IP của server vào bên trong cặp dấu ngoặc vuông và nháy đơn:
"""
Django settings for testsite project.
Generated by 'django-admin startproject' using Django 2.0.
...
"""
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
# Edit the line below with your server IP address
ALLOWED_HOSTS = ['your-server-ip']
...
Sau đó lưu rồi đóng file lại. Cuối cùng là tạo một user quản trị để sử dụng giao diện admin của Django:
python manage.py createsuperuser
Bước 5 – Truy cập ứng dụng web Django
Sau khi cấu hình xong, chuyển về thư mục chứa file manage.py
:
cd ~/django-apps/testsite/
Sau đó chạy lệnh dưới đây, trong đó thay your-server-ip
thành địa chỉ IP tương ứng của server:
python manage.py runserver your-server-ip:8000
Bây giờ chuyển sang link bên dưới để kiểm tra website:
http://your-server-ip:8000/
Nếu thấy được giao diện như trên thì Django đã được cài đặt thành công và project cũng đang hoạt động tốt.
Chạy lệnh dưới đây để truy cập giao diện admin:
http://your_server_ip:8000/admin/
Màn hình đăng nhập sẽ hiện ra như sau:
Nhập username và password của tài khoản admin vừa tạo để truy cập:
Sau khi kiểm tra xong, ta có thể nhấn tổ hợp Ctrcl+C
để quay về môi trường lập trình ban đầu. Cuối cùng là dùng lệnh deactivate
để tắt môi trường Python.
deactivate
Ngoài ra, trong thời đại công nghệ hiện nay, Redis là một công cụ quan trọng trong việc xây dựng các ứng dụng web hiệu quả và ổn định. Tuy nhiên, việc cài đặt và bảo mật cho Redis trên Ubuntu 20.04 đôi khi có thể gặp phải khó khăn. Vì vậy, nắm được kiến thức và kỹ năng trong chủ đề này là rất quan trọng đối với những ai muốn phát triển các ứng dụng web hiệu quả và ổn định.
Sau khi đọc và thao tác theo hướng dẫn của bài viết trên, bạn đã hoàn tất việc cài đặt Django và thiết lập môi trường development để có thể tạo ra môi trường phát triển ứng dụng web chuyên nghiệp trên máy tính của mình. Đồng thời, việc thiết lập môi trường phát triển này cũng giúp cho việc phát triển và thử nghiệm ứng dụng trở nên dễ dàng hơn. Nếu có bất kỳ thắc mắc nào khác, hãy để lại ở phần bình luận bên dưới để được Vietnix hỗ trợ nhanh nhất.