Django là một Python web framework đầy đủ tính năng để phát triển các trang web và ứng dụng động. Sử dụng Django, bạn có thể nhanh chóng tạo các ứng dụng web Python và dựa vào framework để thực hiện tốt công việc nặng nhọc.
Trong hướng dẫn này, bạn sẽ thiết lập và chạy Django trên máy chủ Ubuntu 20.04. Sau khi cài đặt, bạn sẽ bắt đầu một dự án mới để sử dụng làm cơ sở cho trang web của mình.
Có nhiều cách khác nhau để cài đặt Django, tùy thuộc vào nhu cầu của bạn và cách bạn muốn thiết lập cấu hình môi trường phát triển của mình. Những phương pháp này có những ưu điểm khác nhau và một phương pháp có thể phù hợp với tình huống cụ thể của bạn hơn những phương pháp khác.
Một số phương pháp khác nhau bao gồm:
apt
thông thường. Điều này đơn giản, nhưng không linh hoạt như một số phương pháp khác. Ngoài ra, phiên bản có trong kho lưu trữ có thể tụt hậu so với các phiên bản chính thức có sẵn từ dự án.pip
trong môi trường ảo: Bạn có thể tạo một môi trường độc lập cho các dự án của mình bằng các công cụ như venv
và virtualenv
. Môi trường ảo cho phép bạn cài đặt Django trong thư mục dự án mà không ảnh hưởng đến hệ thống lớn hơn, cùng với các tùy chỉnh và gói khác cho mỗi dự án. Đây thường là cách tiếp cận thực tế và được đề xuất nhất để làm việc với Django.git
: Nếu bạn muốn cài đặt phiên bản phát triển mới nhất thay vì bản phát hành ổn định, bạn có thể lấy mã từ Git repo. Điều này là cần thiết để có được các tính năng/bản sửa lỗi mới nhất và có thể được thực hiện trong môi trường ảo của bạn. Tuy nhiên, các phiên bản phát triển không có cùng sự đảm bảo về độ ổn định như các phiên bản ổn định hơn.Trước khi bắt đầu, bạn nên có một non-root user với các đặc quyền sudo có sẵn trên máy chủ Ubuntu 20.04 của mình. Để thiết lập điều này, hãy làm theo hướng dẫn thiết lập máy chủ ban đầu Ubuntu 20.04 của chúng tôi.
Nếu bạn muốn cài đặt Django bằng kho Ubuntu, quá trình này rất đơn giản.
Trước tiên, hãy cập nhật chỉ mục gói cục bộ của bạn bằng apt
:
- sudo apt update
Tiếp theo, hãy kiểm tra xem bạn đã cài đặt phiên bản Python nào. 20.04 đi kèm với Python 3.8 theo mặc định, bạn có thể xác minh bằng cách nhập:
- python3 -V
Bạn sẽ thấy đầu ra như thế này:
OutputPython 3.8.2
Tiếp theo, cài đặt Django:
- sudo apt install python3-django
Bạn có thể kiểm tra xem cài đặt có thành công hay không bằng cách gõ:
- django-admin --version
Output2.2.12
Điều này có nghĩa là phần mềm đã được cài đặt thành công. Bạn cũng có thể nhận thấy rằng phiên bản Django không phải là phiên bản ổn định mới nhất. Để tìm hiểu thêm về cách sử dụng phần mềm, hãy bỏ qua phần tiếp theo để tìm hiểu cách tạo dự án mẫu.
Cách linh hoạt nhất để cài đặt Django trên hệ thống của bạn là trong môi trường ảo. Chúng tôi sẽ chỉ cho bạn cách cài đặt Django trong môi trường ảo mà chúng tôi sẽ tạo bằng mô-đun venv
, một phần của thư viện Python 3 tiêu chuẩn. Công cụ này cho phép bạn tạo môi trường Python ảo và cài đặt các gói Python mà không ảnh hưởng đến phần còn lại của hệ thống. Do đó, bạn có thể chọn các gói Python trên cơ sở từng dự án, bất kể xung đột với các yêu cầu của dự án khác.
Hãy bắt đầu bằng cách làm mới chỉ mục gói cục bộ:
- sudo apt update
Kiểm tra phiên bản Python bạn đã cài đặt:
- python3 -V
OutputPython 3.8.2
Tiếp theo, hãy cài đặt pip
và venv
từ kho Ubuntu:
- sudo apt install python3-pip python3-venv
Bây giờ, bất cứ khi nào bạn bắt đầu một dự án mới, bạn có thể tạo một môi trường ảo cho dự án đó. Bắt đầu bằng cách tạo và di chuyển vào một thư mục dự án mới:
- mkdir ~/newproject
- cd ~/newproject
Tiếp theo, tạo một môi trường ảo trong thư mục dự án bằng lệnh python
tương thích với phiên bản Python của bạn. Chúng tôi sẽ gọi môi trường ảo của chúng tôi là my_env
, nhưng bạn nên đặt tên cho nó một cái gì đó mang tính mô tả:
- python3 -m venv my_env
Thao tác này sẽ cài đặt các phiên bản Python độc lập và pip
vào một cấu trúc thư mục biệt lập trong thư mục dự án của bạn. Một thư mục sẽ được tạo với tên bạn chọn, thư mục này sẽ chứa cấu trúc phân cấp tệp nơi các gói của bạn sẽ được cài đặt.
Để cài đặt các gói vào môi trường bị cô lập, bạn phải kích hoạt nó bằng cách gõ:
- source my_env/bin/activate
Lời nhắc của bạn sẽ thay đổi để phản ánh rằng bạn hiện đang ở trong môi trường ảo của mình. Nó sẽ giống như (my_env)username@hostname:~/newproject$
.
Trong môi trường mới của bạn, bạn có thể sử dụng pip
để cài đặt Django. Bất kể phiên bản Python của bạn là gì, pip
chỉ nên được gọi là pip
khi bạn ở trong môi trường ảo của mình. Cũng lưu ý rằng bạn không cần sử dụng sudo
vì bạn đang cài đặt cục bộ:
- pip install django
Bạn có thể xác minh cài đặt bằng cách gõ:
- django-admin --version
Output3.0.8
Lưu ý rằng phiên bản của bạn có thể khác với phiên bản hiển thị ở đây.
Để rời khỏi môi trường ảo của mình, bạn cần đưa ra lệnh deactivate
từ bất kỳ đâu trên hệ thống:
- deactivate
Lời nhắc của bạn sẽ trở lại màn hình thông thường. Khi bạn muốn làm việc lại với dự án của mình, hãy kích hoạt lại môi trường ảo của bạn bằng cách quay trở lại thư mục dự án của bạn và kích hoạt:
- cd ~/newproject
- source my_env/bin/activate
Nếu bạn cần phiên bản phát triển của Django, bạn có thể tải xuống và cài đặt Django từ kho lưu trữ Git của nó. Hãy làm điều này từ bên trong một môi trường ảo.
Trước tiên, hãy cập nhật chỉ mục gói cục bộ:
- sudo apt update
Kiểm tra phiên bản Python bạn đã cài đặt:
- python3 -V
OutputPython 3.8.2
Tiếp theo, cài đặt pip
và venv
từ kho lưu trữ chính thức:
- sudo apt install python3-pip python3-venv
Bước tiếp theo là nhân bản kho lưu trữ Django. Giữa các lần phát hành, kho lưu trữ này sẽ có nhiều tính năng cập nhật hơn và các bản sửa lỗi có thể ảnh hưởng đến tính ổn định. Bạn có thể sao chép kho lưu trữ vào thư mục có tên ~/django-dev
trong thư mục chính của mình bằng cách nhập:
- git clone git://github.com/django/django ~/django-dev
Thay đổi thư mục này:
- cd ~/django-dev
Tạo môi trường ảo bằng lệnh python
tương thích với phiên bản Python đã cài đặt của bạn:
- python3 -m venv my_env
Kích hoạt nó:
- source my_env/bin/activate
Tiếp theo, bạn có thể cài đặt kho lưu trữ bằng pip
. Tùy chọn -e
sẽ cài đặt ở chế độ “editable”, cần thiết khi cài đặt từ kiểm soát phiên bản:
- pip install -e ~/django-dev
Bạn có thể xác minh rằng quá trình cài đặt đã thành công bằng cách nhập:
- django-admin --version
Output3.2
Một lần nữa, phiên bản bạn thấy được hiển thị có thể không khớp với những gì được hiển thị ở đây.
Bây giờ bạn đã có phiên bản Django mới nhất trong môi trường ảo của mình.
Sau khi cài đặt Django, bạn có thể bắt đầu xây dựng dự án của mình. Chúng tôi sẽ giới thiệu cách tạo một dự án và thử nghiệm nó trên máy chủ phát triển của bạn bằng môi trường ảo.
Đầu tiên, tạo một thư mục cho dự án của bạn và thay đổi nó:
- mkdir ~/django-test
- cd ~/django-test
Tiếp theo, tạo môi trường ảo của bạn:
- python3 -m venv my_env
Kích hoạt môi trường:
- source my_env/bin/activate
Cài đặt Django:
- pip install django
Để xây dựng dự án của bạn, bạn có thể sử dụng django-admin
bằng lệnh startproject
. Chúng tôi sẽ gọi dự án của chúng tôi là djangoproject
, nhưng bạn có thể thay thế tên này bằng một tên khác. startproject
sẽ tạo một thư mục trong thư mục làm việc hiện tại của bạn bao gồm:
manage.py
, mà bạn có thể sử dụng để quản lý các tác vụ Django cụ thể khác nhau.Tuy nhiên, để tránh có quá nhiều thư mục lồng nhau, hãy yêu cầu Django đặt tập lệnh quản lý và thư mục bên trong vào thư mục hiện tại (chú ý dấu chấm kết thúc):
- django-admin startproject djangoproject .
Để di chuyển cơ sở dữ liệu (ví dụ này sử dụng SQLite theo mặc định), hãy sử dụng lệnh di chuyển với manage.py
. Di chuyển áp dụng bất kỳ thay đổi nào bạn đã thực hiện đối với các mô hình Django vào lược đồ cơ sở dữ liệu của mình.
Để di chuyển cơ sở dữ liệu, gõ:
- python manage.py migrate
Bạn sẽ thấy đầu ra như sau:
OutputOperations 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 sessions.0001_initial... OK
Cuối cùng, hãy tạo một người dùng quản trị để bạn có thể sử dụng giao diện quản trị Django. Hãy làm điều này với lệnh createsuperuser
:
- python manage.py createsuperuser
Bạn sẽ được nhắc nhập tên người dùng, địa chỉ email và mật khẩu cho người dùng của mình.
Để kiểm tra thành công ứng dụng của bạn, bạn cần sửa đổi một trong các lệnh trong cài đặt Django.
Mở tệp cài đặt bằng cách gõ:
- nano ~/django-test/djangoproject/settings.py
Bên trong, tìm chỉ thị ALLOWED_HOSTS
. Điều này xác định danh sách các địa chỉ hoặc tên miền có thể được sử dụng để kết nối với phiên bản Django. Một yêu cầu đến với tiêu đề Máy chủ lưu trữ không có trong danh sách này sẽ đưa ra một ngoại lệ. Django yêu cầu bạn thiết lập điều này để ngăn chặn một loại lỗ hổng bảo mật nhất định.
Trong dấu ngoặc vuông, hãy liệt kê các địa chỉ IP hoặc tên miền được liên kết với máy chủ Django của bạn. Mỗi mục nên được liệt kê trong trích dẫn, với các mục riêng biệt được phân tách bằng dấu phẩy. Nếu bạn muốn yêu cầu cho toàn bộ miền và bất kỳ miền phụ nào, hãy thêm một khoảng thời gian vào đầu mục nhập:
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]
Khi bạn hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa của bạn.
Sau khi có người dùng, bạn có thể khởi động máy chủ phát triển Django để xem dự án Django mới trông như thế nào. Bạn chỉ nên sử dụng điều này cho mục đích phát triển. Khi bạn đã sẵn sàng triển khai, hãy đảm bảo tuân thủ cẩn thận các nguyên tắc triển khai của Django.
Trước khi bạn dùng thử máy chủ phát triển, hãy đảm bảo rằng bạn đã mở cổng thích hợp trong tường lửa của mình. Nếu bạn đã làm theo hướng dẫn thiết lập máy chủ ban đầu và đang sử dụng UFW, bạn có thể mở cổng 8000
bằng cách nhập:
- sudo ufw allow 8000
Khởi động máy chủ phát triển:
- python manage.py runserver your_server_ip:8000
Truy cập địa chỉ IP của máy chủ của bạn theo sau :8000
trong trình duyệt web của bạn:
http://your_server_ip:8000
Bạn sẽ thấy một cái gì đó giống như thế này:
Để truy cập giao diện quản trị, hãy thêm /admin/
vào cuối URL của bạn:
http://your_server_ip:8000/admin/
Thao tác này sẽ đưa bạn đến màn hình đăng nhập:
Nếu bạn nhập tên người dùng và mật khẩu quản trị mà bạn vừa tạo, bạn sẽ có quyền truy cập vào phần quản trị chính của trang web:
Để biết thêm thông tin về cách làm việc với giao diện quản trị Django, vui lòng xem “Cách bật và kết nối giao diện quản trị Django”.
Khi bạn xem xong trang web mặc định, bạn có thể dừng máy chủ phát triển bằng cách nhập CTRL-C
trong thiết bị đầu cuối của mình.
Dự án Django mà bạn đã tạo cung cấp cơ sở cấu trúc để thiết kế một trang web hoàn chỉnh hơn. Xem tài liệu Django để biết thêm thông tin về cách xây dựng ứng dụng và tùy chỉnh trang web của bạn.
Bây giờ bạn đã cài đặt Django trên máy chủ Ubuntu 20.04 của mình, cung cấp các công cụ chính bạn cần để tạo các ứng dụng web mạnh mẽ. Bạn cũng nên biết cách bắt đầu một dự án mới và khởi chạy máy chủ dành cho nhà phát triển. Tận dụng một khung web hoàn chỉnh như Django có thể giúp phát triển nhanh hơn, cho phép bạn chỉ tập trung vào các khía cạnh độc đáo của ứng dụng của mình.
Nếu bạn muốn biết thêm thông tin về cách làm việc với Django, bao gồm các cuộc thảo luận chuyên sâu về những thứ như mô hình và chế độ xem, vui lòng xem loạt bài phát triển Django của chúng tôi.