Cách cài đặt Django Web Framework trên Ubuntu 20.04
Django là một khung công tác web Python đầ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 khung công tác để thực hiện tốt các công việc nặng nhọc.Trong hướng dẫn này, bạn sẽ cài đặt và chạy Django trên server 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 bạn .
Các phương pháp khác nhau
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 cấu hình môi trường phát triển của bạn . 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 hình 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:
-  Cài đặt  global  từ các gói : Kho lưu trữ Ubuntu chính thức chứa các gói Django có thể được cài đặt bằng trình quản lý gói aptthông thường. Cách này tuy đơn giản nhưng không linh hoạt như một số phương pháp khác. Ngoài ra, version có trong repository lưu trữ có thể tụt hậu so với các version chính thức có sẵn từ dự án.
-  Cài đặt bằng piptrong môi trường ảo : Bạn có thể tạo một môi trường khép kín cho các dự án của bạn bằng các công cụ nhưvenvvàvirtualenv. Môi trường ảo cho phép bạn cài đặt Django trong folder 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 từng dự án. Đây thường là cách tiếp cận thực tế nhất và được đề xuất để làm việc với Django.
-  Cài đặt version  phát triển bằng git: Nếu bạn muốn cài đặt version phát triển mới nhất thay vì version ổn định, bạn có thể lấy mã từ repository Git. Đ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 version phát triển không có sự đảm bảo ổn định như các version ổn định hơn.
Yêu cầu
Trước khi bắt đầu, bạn phải có một user không phải root có các quyền sudo trên server Ubuntu 20.04 của bạn. Để cài đặt điều này, hãy làm theo hướng dẫn cài đặt server ban đầu Ubuntu 20.04 của ta .
Cài đặt global từ các gói
Nếu bạn muốn cài đặt Django bằng cách sử dụng repository Ubuntu, quá trình này rất đơn giản.
 Đầu tiên, hãy cập nhật  index gói  local  của bạn với apt :
- sudo apt update 
Tiếp theo, hãy kiểm tra version Python nào bạn đã cài đặt. 20.04 đi kèm với Python 3.8 theo mặc định, bạn có thể xác minh bằng lệnh :
- python3 -V 
Bạn sẽ thấy kết quả 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 lệnh :
- django-admin --version 
Output2.2.12 Điều này 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 version Django không phải là version ổ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 trước để tìm hiểu cách tạo dự án mẫu .
Cài đặt bằng pip trong môi trường ảo
 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.  Ta  sẽ chỉ cho bạn cách cài đặt Django trong môi trường ảo mà  ta  sẽ tạo bằng module  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,  dù  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 cập nhật OS local :
- sudo apt update 
Kiểm tra version Python bạn đã cài đặt:
- python3 -V 
OutputPython 3.8.2 Tiếp theo, hãy cài đặt pip và venv từ repository  Ubuntu:
- sudo apt install python3-pip python3-venv 
Bây giờ, 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 nó. Bắt đầu bằng cách tạo và chuyển vào folder dự án mới:
- mkdir ~/newproject 
- cd ~/newproject 
Tiếp theo, tạo một môi trường ảo trong folder  dự án bằng cách sử dụng lệnh python tương thích với version  Python của bạn.  Ta  sẽ gọi môi trường ảo của  ta  là my_env , nhưng bạn nên đặt tên nó mang tính mô tả:
- python3 -m venv my_env 
Điều này sẽ cài đặt các version  độc lập của Python và pip thành một cấu trúc folder  bị cô lập trong folder  dự án của bạn. Một folder  sẽ được tạo với tên bạn chọn, sẽ chứa thứ bậc file  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 cô lập, bạn phải kích hoạt nó bằng lệnh :
- source my_env/bin/activate 
 Dấu 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 bạn . Nó sẽ giống như ( my_env )username@hostname:~/newproject$ .
 Trong môi trường mới, bạn có thể sử dụng pip để cài đặt Django.  Dù  version  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 bạn . Cũng  lưu ý  bạn không cần sử dụng sudo vì bạn đang cài đặt local :
- pip install django 
Bạn có thể xác minh cài đặt bằng lệnh :
- django-admin --version 
Output3.0.8 Lưu ý version của bạn có thể khác với version được hiển thị ở đây.
 Để rời khỏi môi trường ảo  của bạn , bạn cần đưa ra lệnh deactivate từ bất kỳ đâu trên hệ thống:
- deactivate 
Dấu 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 trên dự án của bạn , hãy chạy lại môi trường ảo của bạn bằng cách chuyển trở lại folder dự án của bạn và kích hoạt:
- cd ~/newproject 
- source my_env/bin/activate 
Phiên bản phát triển Cài đặt bằng Git
Nếu bạn cần version phát triển của Django, bạn có thể download và cài đặt Django từ repository Git của nó. Hãy làm điều này từ bên trong một môi trường ảo.
Đầu tiên, hãy cập nhật index gói local :
- sudo apt update 
Kiểm tra version Python bạn đã cài đặt:
- python3 -V 
OutputPython 3.8.2 Tiếp theo, cài đặt pip và venv từ các repository  chính thức:
- sudo apt install python3-pip python3-venv 
Bước tiếp theo là sao chép repository  Django. Giữa các lần phát hành, repository  này sẽ có nhiều tính năng cập nhật hơn và sửa lỗi với chi phí ổn định có thể xảy ra. Bạn có thể sao chép repository  vào folder  có tên ~/ django-dev trong folder  chính  của bạn   bằng lệnh :
- git clone git://github.com/django/django ~/django-dev 
Thay đổi folder này:
- cd ~/django-dev 
Tạo môi trường ảo bằng lệnh python tương thích với version  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 repository  bằng pip . Tùy chọn -e sẽ cài đặt ở chế độ “có thể chỉnh sửa”, cần thiết khi cài đặt từ kiểm soát version :
- pip install -e ~/django-dev 
Bạn có thể xác minh cài đặt thành công bằng lệnh :
- django-admin --version 
Output3.2 , version bạn thấy được hiển thị có thể không trùng với những gì được hiển thị ở đây.
Đến đây bạn có version Django mới nhất trong môi trường ảo của bạn .
Tạo một dự án mẫu
Với Django được cài đặt, bạn có thể bắt đầu xây dựng dự án của bạn . Ta sẽ xem xét cách tạo một dự án và kiểm tra nó trên server phát triển của bạn bằng cách sử dụng môi trường ảo.
Đầu tiên, tạo một folder 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 với lệnh startproject .  Ta  sẽ gọi dự án  của bạn  là djangoproject , nhưng bạn có thể thay thế dự án này bằng một tên khác. startproject sẽ tạo một folder  trong folder  làm việc hiện tại của bạn bao gồm:
-  Một kịch bản quản lý, manage.py, mà bạn có thể sử dụng để quản lý các nhiệm vụ Django cụ thể khác nhau.
- Một folder (có cùng tên với dự án) bao gồm mã dự án thực tế.
Tuy nhiên, để tránh có quá nhiều folder lồng nhau, hãy yêu cầu Django đặt tập lệnh quản lý và folder bên trong folder hiện tại (lưu ý dấu chấm kết thúc):
- django-admin startproject djangoproject . 
Để di chuyển database  (ví dụ này sử dụng SQLite theo mặc định), hãy sử dụng lệnh migrate với manage.py . Việc 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 schemas  database  của bạn.
Để di chuyển database , hãy nhập:
- python manage.py migrate 
Bạn sẽ thấy kết quả 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  admin-user  để bạn có thể sử dụng giao diện quản trị Djano . Hãy làm điều này với lệnh createsuperuser :
- python manage.py createsuperuser 
Bạn sẽ được yêu cầu nhập tên user , địa chỉ email và password cho user của bạn.
Sửa đổi ALLOWED_HOSTS trong Cài đặt Django
Để 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 chỉ thị trong cài đặt Django.
Mở file cài đặt bằng lệnh :
- nano ~/django-test/djangoproject/settings.py 
Bên trong, tìm chỉ thị ALLOWED_HOSTS . Điều này xác định một danh sách các địa chỉ hoặc domain   được dùng  để kết nối với version  Django. Một yêu cầu đến có tiêu đề  Server  lưu trữ không có trong danh sách này sẽ tạo ra một ngoại lệ. Django yêu cầu bạn  cài đặt  điều này để ngăn chặn một lớp lỗ hổng bảo mật nhất định.
Trong dấu ngoặc vuông, liệt kê các địa chỉ IP hoặc domain được liên kết với server 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 nhập riêng biệt được phân tách bằng dấu phẩy. Nếu bạn muốn có các yêu cầu cho toàn bộ domain và bất kỳ domain 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 file và thoát khỏi editor .
Kiểm tra Server Phát triển
Sau khi có user , bạn có thể khởi động server phát triển Django để xem một dự án Django mới trông như thế nào. Bạn chỉ nên sử dụng nó cho các mục đích phát triển. Khi đã sẵn sàng triển khai, hãy đảm bảo tuân theo các nguyên tắc triển khai của Django một cách cẩn thận.
 Trước khi dùng thử  server  phát triển, hãy  đảm bảo  bạn mở cổng thích hợp trong firewall   của bạn . Nếu bạn đã làm theo hướng dẫn  cài đặt   server  ban đầu và đang sử dụng UFW, bạn có thể mở cổng 8000  bằng lệnh :
- sudo ufw allow 8000 
Khởi động server phát triển:
- python manage.py runserver your_server_ip:8000 
Truy cập địa chỉ IP của  server  của bạn, sau đó là :8000 trong  trình duyệt web :
http://your_server_ip:8000 Bạn sẽ thấy một cái gì đó giống như sau:
 Để 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 user và password administrator 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 xem xong trang web mặc định, bạn có thể dừng  server  phát triển  bằng lệnh  CTRL-C vào terminal   của bạn .
Dự án Django 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 các ứng dụng và tùy chỉnh trang web .
Kết luận
Đến đây bạn đã cài đặt Django trên server Ubuntu 20.04 của bạn , 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à chạy server của 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 bạn .
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 ta .
Các tin liên quan
Cách tạo chế độ xem để phát triển web Django2020-05-14
Cách tạo chế độ xem để phát triển web Django
2020-05-14
Cách tạo ứng dụng web bằng Flask trong Python 3
2020-04-16
Cách tạo web server trong Node.js bằng module HTTP
2020-04-10
Mã thông báo web JSON (JWT) trong Express.js
2020-02-19
Phát triển bản địa với API thông báo web
2020-02-12
Cách tạo thông báo trên web bằng kênh Laravel và Pusher
2019-12-12
Cách tạo băng chuyền image danh mục đầu tư với các thanh trượt được đồng bộ hóa trên trang web
2019-12-12
Khả năng truy cập web cho người mới bắt đầu
2019-12-12
Cách tạo ứng dụng chuyển văn bản thành giọng nói với API giọng nói trên web
2019-12-12
 

