Cách cài đặt Django Web Framework trên Ubuntu 18.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 18.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
apt
thô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
pip
trong 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ưvenv
và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 nên có một user không phải root có các quyền sudo có sẵn trên server Ubuntu 18.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 18.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. 18.04 đi kèm với Python 3.6 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.6.5
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
Output1.11.11
Đ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.6.5
Tiếp theo, hãy cài đặt pip
từ repository Ubuntu:
- sudo apt install python3-pip
Sau khi cài đặt pip
, bạn có thể sử dụng nó để cài đặt gói venv
:
- sudo apt install 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.6 -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
Output2.1
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.6.5
Tiếp theo, cài đặt pip
từ repository chính thức:
- sudo apt install python3-pip
Cài đặt gói venv
để tạo môi trường ảo của bạn:
- sudo apt install 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.6 -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
Output2.2.dev20180802155335
, 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.6 -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 danh sách trắng 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 18.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 sử dụng Trình quản lý cảnh báo và Trình xuất hộp đen để giám sát web server của bạn trên Ubuntu 16.042018-05-11
Giải pháp Deep Dive: Xây dựng một ứng dụng web khả dụng cao với khả năng xử lý và lưu trữ web bằng cách sử dụng MongoDB và Elk Stack
2018-03-15
Các bước đầu tiên của bạn với API âm thanh web
2018-01-09
Gói ứng dụng web của bạn bằng bưu kiện
2017-12-09
Tích hợp các thành phần web với ứng dụng Vue.js của bạn
2017-09-25
Cách làm việc với dữ liệu web bằng cách sử dụng yêu cầu và món súp đẹp mắt với Python 3
2017-07-14
Sử dụng Web worker một cách dễ dàng trong Vue.js với vue-worker
2017-05-16
Cách cài đặt Icinga và Icinga Web trên Ubuntu 16.04
2017-05-05
Cách lưu trữ nhiều trang web với Nginx và HAProxy bằng LXD trên Ubuntu 16.04
2017-04-19
Cách bảo mật ứng dụng web nông dân của bạn bằng Let's Encrypt trên Ubuntu 16.04
2017-03-29