16/09/2018, 13:13

Làm thế nào để cài đặt khung web Django trên Ubuntu 18.04

Giới thiệu 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. Bằng cách sử dụng Django, bạn có thể nhanh chóng tạo ra các ứng dụng web Python và dựa vào khuôn khổ để làm tốt việc nâng hạng nặng. Trong hướng dẫn này, bạn sẽ nhận được Django và ...

Giới thiệu

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. Bằng cách sử dụng Django, bạn có thể nhanh chóng tạo ra các ứng dụng web Python và dựa vào khuôn khổ để làm tốt việc nâng hạng nặng.

Trong hướng dẫn này, bạn sẽ nhận được Django và chạy trên một máy chủ 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 mình. Chúng có những ưu điểm khác nhau và một phương pháp có thể cho vay tốt hơn với tình hình cụ thể của bạn so với các phương pháp khác.

Một số phương pháp khác nhau bao gồm:

  • Cài đặt toàn cầu từ các gói: Các kho lưu trữ chính thức của Ubuntu chứa các gói Django có thể được cài đặt với thông thường apt quản lý gói. Điều này rất đơ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 chứa trong kho 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.
  • Cài đặt với pip trong môi trường ảo: Bạn có thể tạo 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ột môi trường ảo cho phép bạn cài đặt Django trong một 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ế nhất và được khuyến nghị để làm việc với Django.
  • Phiên bản phát triển cài đặt với 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ừ repo 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 phiên bản phát triển không có sự đảm bảo ổn định giống như các phiên bản ổn định hơn.

Điều kiện tiên quyết

Trước khi bạn bắt đầu, bạn nên có một người dùng không phải root với các đặc quyền sudo có sẵn trên máy chủ Ubuntu 18.04 của bạn. Để thiết lập điều này, hãy làm theo Ubuntu 18.04 hướng dẫn cài đặt máy chủ ban đầu.

Cài đặt toàn cầu từ gói

Nếu bạn muốn cài đặt Django bằng cách sử dụng kho lưu trữ 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 địa phương của bạn bằng apt:

sudo apt update

Tiếp theo, kiểm tra phiên bản Python bạn đã cài đặt. 18.04 tàu mặc định với Python 3.6, bạn có thể xác minh bằng cách gõ:

python3 -V

Bạn sẽ thấy đầu ra 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 cài đặt thành công bằng cách gõ:

django-admin --version

Output
1.11.11

Đ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 để tìm hiểu cách tạo dự án mẫu.

Cài đặt với 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ột 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 venv mô-đun, một phần của thư viện Python 3 chuẩn. Công cụ này cho phép bạn tạo các 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 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 các dự án khác.

Hãy bắt đầu bằng cách làm mới chỉ mục gói địa phương:

sudo apt update

Kiểm tra phiên bản Python bạn đã cài đặt:

python3 -V

OutputPython 3.6.5

Tiếp theo, hãy cài đặt pip từ kho lưu trữ Ubuntu:

sudo apt install python3-pip

Một lần pip được cài đặt, bạn có thể sử dụng nó để cài đặt venv gói:

sudo apt install 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 nó. Bắt đầu bằng cách tạo và 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 cách sử dụng python lệnh tương thích với phiên bản Python của bạn. Chúng ta sẽ gọi môi trường ảo của mình my_env, nhưng bạn nên đặt tên cho nó một cái gì đó mô tả:

python3.6 -m venv my_env

Điều 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 bị cô 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 mà bạn chọn, sẽ giữ 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ẽ trông 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, 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 đừ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 nhập:

django-admin --version

Output
2.1

Lưu ý rằng phiên bản của bạn có thể khác với phiên bản được hiển thị ở đây.

Để rời khỏi môi trường ảo của bạn, bạn cần phát hành deactivate lệnh từ mọi nơi trên hệ thống:

deactivate

Lời nhắc của bạn sẽ hoàn nguyên về 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 một lần nữa, kích hoạt lại môi trường ảo của bạn bằng cách di chuyển trở lại vào thư mục 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 với Git

Nếu bạn cần một 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.6.5

Tiếp theo, cài đặt pip từ kho chính thức:

sudo apt install python3-pip

Cài đặt venv gói để tạo môi trường ảo của bạn:

sudo apt install python3-venv

Bước tiếp theo là nhân bản kho lưu trữ Django. Giữa các bản phát hành, kho lưu trữ này sẽ có thêm các tính năng cập nhật và sửa lỗi với chi phí có thể có của sự ổn định. Bạn có thể sao chép kho lưu trữ vào một thư mục có tên ~/django-dev trong thư mục chính của bạn bằng cách gõ:

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 cách sử dụng python lệnh tương thích với phiên bản 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 kho lưu trữ bằng cách sử dụng pip. Các -e tùy chọn sẽ cài đặt ở chế độ "có thể chỉnh sửa", cần thiết khi cài đặt từ điều khiển phiên bản:

pip install -e ~/django-dev

Bạn có thể xác minh rằng cài đặt đã thành công bằng cách nhập:

django-admin --version

Output
2.2.dev20180802155335

Một lần nữa, phiên bản bạn thấy 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 mới nhất của Django 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 mình. Chúng ta sẽ xem xét 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 cách sử dụng một 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ó thành 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 startproject chỉ huy. Chúng tôi sẽ gọi cho dự án của chúng tôi djangoprojectnhư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:

  • Một kịch bản quản lý, manage.py, mà bạn có thể sử dụng để quản lý các tác vụ cụ thể của Django.
  • Một thư mục (có cùng tên với dự án) bao gồm mã dự án thực tế.

Để tránh có quá nhiều thư mục lồng nhau, tuy nhiên, hãy nói cho Django để đặt kịch bản quản lý và thư mục bên trong trong hiện hành thư mục (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 migrate lệnh với manage.py. Di chuyển áp dụng bất kỳ thay đổi nào bạn đã thực hiện cho Django của mình mô hình vào lược đồ cơ sở dữ liệu của bạn.

Để di chuyển cơ sở dữ liệu, hãy nhập:

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 người dùng quản trị để bạn có thể sử dụng Giao diện quản trị Djano. Hãy làm điều này với createsuperuser chỉ huy:

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.

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 sẽ cần phải sửa đổi một trong các chỉ thị trong cài đặt Django.

Mở tệp cài đặt bằng cách nhập:

nano ~/django-test/djangoproject/settings.py

Bên trong, xác định vị trí ALLOWED_HOSTS chỉ thị. Điều này định nghĩa một danh sách trắng các địa chỉ hoặc tên miền có thể được sử dụng để kết nối với cá thể Django. Một yêu cầu đến với một Máy chủ lưu trữ tiêu đề không có trong danh sách này sẽ làm tăng ngoại lệ. Django yêu cầu bạn thiết lập để ngăn chặn một lớp bảo mật nào đó.

Trong dấu ngoặc vuông, 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 phải được liệt kê trong các 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ộ tên miền và bất kỳ tên miền phụ nào, hãy thêm một khoảng thời gian vào đầu mục nhập:

~/django-test/djangoproject/settings.py

. . .
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

Khi bạn hoàn tất, lưu tệp và thoát khỏi trình chỉnh sửa của bạn.

Kiểm tra máy chủ phát triển

Một khi bạn có một 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 nó cho mục đích phát triển. Khi bạn đã sẵn sàng triển khai, hãy nhớ theo dõi Hướng dẫn của Django về triển khai cẩn thận.

Trước khi bạn thử máy chủ phát triển, hãy đảm bảo 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 cài đặt máy chủ ban đầu và đang sử dụng UFW, bạn có thể mở cổng 8000 bằng cách gõ:

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ì đó trông như thế này:

Django public page

Để truy cập giao diện quản trị, hãy thêm /admin/ đến 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:

Django admin login

Nếu bạn nhập tên người dùng và mật khẩu quản trị viên 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:

Django admin page

Để 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 "Làm thế nào để kích hoạ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ể ngừ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 bạn.

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 tạo ứng dụng và tùy chỉnh trang web của bạn.

Phần kết luận

Bây giờ bạn sẽ có Django cài đặt trên máy chủ Ubuntu 18.04 của bạn, cung cấp các công cụ chính bạn cần để tạo ra 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 động máy chủ phát triển. Tận dụng một khuôn khổ 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ề 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à lượt xem, hãy xem Loạt phát triển Django.

0