Hướng dẫn Django cho người mới bắt đầu: Tính năng, Archikiến trúc & lịch sử

Tóm tắt hướng dẫn Django

Hướng dẫn Django này bao gồm tất cả các chủ đề cơ bản từ đầu. Trong hướng dẫn này, bạn sẽ tìm hiểu các khái niệm như Django là gì, lịch sử Django, tính năng của Django, Đặc điểm của khung Django, Thành phần của Django, Ưu điểm và nhược điểm, v.v.
Trước khi học Django, hãy hiểu:

Khung Web là gì?

Khung web là một thư viện mã giúp bạn xây dựng một khung công tác linh hoạt, có thể mở rộng và bảo trì; trang web động, ứng dụng web và dịch vụ web. Các khung web khác nhau là Zend cho PHP, Viên ngọc trên tay vịn cho Ruby, v.v.

Django là gì?

Django là một khuôn khổ phát triển web dành cho Python cung cấp các phương pháp chuẩn để phát triển trang web nhanh chóng và hiệu quả. Mục tiêu chính của khuôn khổ web cấp cao này là tạo ra các trang web phức tạp dựa trên cơ sở dữ liệu. Nó giúp bạn xây dựng và duy trì các ứng dụng web chất lượng. Nó cho phép bạn thực hiện quy trình phát triển trơn tru và tiết kiệm thời gian để phát triển nhanh chóng.

Tại sao lại là Django? Ưu điểm chính của Django

Dưới đây là những ưu điểm chính của Django:

  • Django rất dễ cài đặt và chạy. Nó cung cấp nhiều tùy chọn để bắt đầu
  • Nó cung cấp giao diện người dùng sẵn sàng sử dụng cho các hoạt động quản trị
  • Nó cho phép các trang web đa ngôn ngữ bằng cách sử dụng hệ thống quốc tế hóa tích hợp của nó
  • Giúp bạn đáp ứng nhu cầu lưu lượng truy cập lớn một cách nhanh chóng
  • Django được sử dụng để xây dựng tất cả các loại hệ thống quản lý nội dung, mạng xã hội cũng như nền tảng máy tính khoa học.
  • Django giúp bạn cung cấp thử nghiệm ứng dụng từ đầu đến cuối
  • Giúp bạn ghi lại API của mình bằng đầu ra HTML
  • REST Framework có hỗ trợ phong phú cho một số giao thức xác thực
  • Quyền và chính sách điều tiết
  • Nó được sử dụng rộng rãi để giới hạn tốc độ các yêu cầu API từ một người dùng.

Lịch sử của Django

Năm Milestone
2003 Dự án được bắt đầu bởi Adian Holovaty và Simon Willison như một dự án nội bộ tại tờ báo Lawrence Journal-World
2005 Tháng Bảy Nó được phát hành vào tháng 2005 năm XNUMX với tên gọi “Django”, được đặt theo tên của nghệ sĩ guitar jazz Django Reinhard
Tháng Sáu 2008 Tuyên bố rằng Phần mềm Django Foundation (DSF) sẽ duy trì Django.
29 2009 tháng bảy Phiên bản Django 1.1 được phát hành với các tính năng như Aggregates, kiểm tra dựa trên giao dịch.
17 Tháng năm, 2010 Phiên bản Django 1.2 đã được phát hành. Bản cập nhật cung cấp các tính năng như nhiều cơ sở dữ liệu, triển khai phần cuối email và cải tiến cho các phiên và cookie được thực hiện trong phiên bản này.
23 Mar 2011 Phiên bản 1.3 với các tính năng như chế độ xem dựa trên Lớp, tệp tĩnh đã được giới thiệu
23 Mar 2012 Phiên bản 1.4 được ra mắt với các tính năng mới như múi giờ và thử nghiệm trên trình duyệt
Tháng Hai 26 2013 Phiên bản 1.5 đi kèm Python 3 Hỗ trợ, cấu hình các tính năng mô hình người dùng.
Tháng Mười Một 6 2013 Phiên bản 1.6 đi kèm với tính năng quản lý giao dịch DB, tính năng kết nối nhóm.
2 Tháng Chín 2014 Phiên bản 1.7 có các tính năng mới như tải ứng dụng, di chuyển và cấu hình
1 2015 tháng tư hỗ trợ riêng được cung cấp cho nhiều công cụ tạo mẫu.
1 Tháng 12 2015 Trong phiên bản 1.9, tính năng xác thực mật khẩu tự động đã được giới thiệu.
1 Tháng Tám 2016 Trong phiên bản 1.10, tìm kiếm toàn văn cho PostgreSQL đưa ra.
4 2017 tháng tư Phiên bản 1.11 trở thành phiên bản cuối cùng hỗ trợ Python 2.7
2 Tháng 12 2017 phiên bản 2.0 trở thành phiên bản phát hành duy nhất của python 3.
1 Tháng Tám 2018 phiên bản 2.1 đi kèm với tính năng hỗ trợ quyền "xem" Model.
2021 Đã xóa hỗ trợ cho Django 3.0 và thêm hỗ trợ Django 3.2

Bây giờ trong hướng dẫn Django dành cho người mới bắt đầu này, hãy cùng tìm hiểu về các tính năng của Django.

Đặc điểm của Django

Dưới đây là các tính năng của Django:

  • Giúp bạn xác định mẫu cho các URL trong ứng dụng của mình
  • Hệ thống URL đơn giản nhưng mạnh mẽ
  • Hệ thống xác thực tích hợp
  • Cơ sở dữ liệu ngôn ngữ lập trình hướng đối tượng cung cấp khả năng lưu trữ và truy xuất dữ liệu tốt nhất
  • Tính năng giao diện quản trị tự động cho phép chức năng thêm, chỉnh sửa và xóa các mục. Bạn có thể tùy chỉnh bảng quản trị theo nhu cầu của bạn.
  • Khung bộ đệm đi kèm với nhiều cơ chế bộ đệm.

Bây giờ trong hướng dẫn khung Django này, chúng ta sẽ tìm hiểu về các đặc điểm của Django.

Đặc điểm của Django

Dưới đây là những đặc điểm chính của Django:

  • Khớp nối lỏng lẻo- Django giúp bạn làm cho mỗi phần tử trong ngăn xếp của nó trở nên độc lập với các phần tử khác.
  • Less code- Đảm bảo phát triển hiệu quả
  • Không lặp lại- Mọi thứ nên được phát triển chính xác ở một nơi thay vì lặp lại
  • Phát triển nhanh - Django's cung cấp khả năng phát triển ứng dụng nhanh chóng và đáng tin cậy.
  • Thiết kế nhất quán- Django duy trì một thiết kế gọn gàng và giúp bạn dễ dàng thực hiện theo các phương pháp phát triển web tốt nhất.

Tiếp theo trong hướng dẫn dành cho người mới bắt đầu về Django, chúng ta sẽ tìm hiểu về kiến ​​trúc của Django.

Django Archikiến trúc: MVC và MVT

Dưới đây là kiến ​​trúc chi tiết của Django:

Django Archikiến trúc
Django Archikiến trúc

Mẫu MVC

Khi nói về các ứng dụng cung cấp UI (web hoặc máy tính để bàn), chúng ta thường nói về kiến ​​trúc MVC. Mô hình MVC dựa trên Model, View và Controller.

Mô hình xác định cấu trúc dữ liệu và quan tâm đến việc truy vấn cơ sở dữ liệu.

Xem xác định dữ liệu nào sẽ được trình bày và trả về phản hồi HTTP.

Người điều khiển là một phần của ứng dụng xử lý sự tương tác của người dùng.

Mẫu Django MVC-MVT

Model-View-Template (MVT) là một khái niệm khác so với MVC. Sự khác biệt chính giữa hai mô hình kiến ​​trúc này là Django tự quản lý phần Controller (mã phần mềm điều khiển tương tác giữa Model và View). Template là một tệp HTML được trộn với tệp Django Template Language còn được gọi là DTL.

Sơ đồ dưới đây cho thấy cách tất cả các thành phần của mẫu MVT tương tác với nhau để phục vụ yêu cầu cụ thể của người dùng.

Django Archikiến trúc: MVC và MVT

MVT Archikiến trúc

Như đã thấy trong sơ đồ trên, người dùng yêu cầu tài nguyên tới Django. Django hoạt động như một bộ điều khiển và kiểm tra tài nguyên có sẵn trong URL.

Nếu bản đồ URL, chế độ xem sẽ được gọi tương tác với mô hình và mẫu. Django sau đó phản hồi lại người dùng và gửi mẫu dưới dạng phản hồi.

Bây giờ trong loạt bài hướng dẫn Django dành cho người mới bắt đầu này, chúng ta sẽ tìm hiểu về các thành phần của Django.

Các thành phần của Django

Mẫu

Django có thư viện biểu mẫu mạnh mẽ xử lý các biểu mẫu hiển thị dưới dạng HTML. Thư viện giúp xác thực dữ liệu đã gửi và chuyển đổi nó thành Python các loại.

Xác thực

Nó xử lý tài khoản người dùng, nhóm, phiên người dùng dựa trên cookie, v.v.

quản trị viên

Nó đọc siêu dữ liệu trong mô hình của bạn để cung cấp giao diện mạnh mẽ có thể được sử dụng để quản lý nội dung trên trang web của bạn.

quốc tế hóa

Django cung cấp hỗ trợ dịch văn bản sang nhiều ngôn ngữ khác nhau, định dạng ngày, giờ, số và múi giờ theo địa phương cụ thể.

Bảo mật

Django cung cấp biện pháp bảo vệ chống lại các cuộc tấn công sau:

  • Yêu cầu trên nhiều trang web giả mạo (CSRF)
  • Tập lệnh trên nhiều trang web
  • SQL injection
  • Nhấp chuột
  • Thực thi mã từ xa

Các công ty nổi tiếng sử dụng Django

Dưới đây là các công ty đang sử dụng Django:

  • Cai Xô nhỏ
  • THẢO LUẬN
  • NASA
  • PBS (Dịch vụ phát thanh truyền hình công cộng)
  • Pinterest
  • Instagram
  • Mozilla
  • The Washington Post
  • NY Times
  • LA Times
  • The Guardian Địa lý Quốc gia
  • Kênh khám phá

Nhược điểm của việc sử dụng Django

  • Một tiến trình không thể xử lý nhiều yêu cầu cùng lúc.
  • Django là một công cụ rất nguyên khối.
  • Các thành phần được triển khai cùng nhau có thể tạo ra sự nhầm lẫn.
  • Kiến thức về toàn bộ hệ thống cần thiết để hoạt động trên Django
  • Làm cho các thành phần ứng dụng web được liên kết chặt chẽ
  • Bạn cần lập trình dài cho các nhiệm vụ nhỏ.

Tổng kết

  • Django là một framework phát triển web dành cho Python cung cấp một phương pháp tiêu chuẩn để phát triển trang web nhanh chóng và hiệu quả.
  • Django được bắt đầu bởi Adian Holovaty và Simon Willison như một dự án nội bộ tại tờ báo Lawrence Journal-World năm 2003
  • Django giúp bạn ghi lại API của mình bằng đầu ra HTML.
  • Django cho phép bạn tùy chỉnh bảng quản trị theo nhu cầu của bạn.
  • Django giúp bạn làm cho mỗi phần tử trong ngăn xếp của nó trở nên độc lập với các phần tử khác.
  • Sự khác biệt chính giữa mô hình kiến ​​trúc MVC và MVT là Django tự quản lý phần Bộ điều khiển.
  • Các thành phần thiết yếu của kiến ​​trúc Django là: Biểu mẫu, Xác thực, Quản trị, Quốc tế hóa, Bảo mật.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, v.v. sử dụng Django
  • Nhược điểm lớn nhất của Django là nó không thể xử lý nhiều yêu cầu cùng lúc.