Hướng dẫn Django: Các tính năng, Archikiến trúc & lịch sử
⚡ Tóm tắt thông minh
Django là một phần mềm mã nguồn mở miễn phí. Python Khung web được xây dựng dựa trên mô hình Model-View-Template, cho phép phát triển nhanh chóng các trang web an toàn, có khả năng mở rộng và dựa trên cơ sở dữ liệu thông qua các thành phần có thể tái sử dụng, giao diện quản trị tự động và thiết kế tích hợp đầy đủ tính năng.

Django cung cấp sức mạnh cho một số trang web lớn nhất trên internet trong khi vẫn duy trì...ping Quá trình phát triển hàng ngày diễn ra nhanh chóng và có tổ chức. Trước khi tìm hiểu các tính năng, kiến trúc và lịch sử của nó, các phần bên dưới sẽ bắt đầu với những kiến thức cơ bản về các framework web và điều gì làm cho Django trở nên khác biệt.
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ẽ học các khái niệm như Django là gì, lịch sử của nó, các tính năng của nó, đặc điểm của framework Django, các thành phần của Django, ưu điểm và nhược điểm của nó, và nhiều hơn nữa.
Trước khi học Django, chúng ta hãy cùng hiểu rõ:
Khung Web là gì?
Web framework là một thư viện mã giúp bạn xây dựng một trang web, ứng dụng web hoặc dịch vụ web động, linh hoạt, có khả năng mở rộng và dễ bảo trì. Một số web framework khác nhau bao gồm Zend cho PHP, Viên ngọc trên tay vịn Dành cho Ruby và các ngôn ngữ khác.
Django là gì?
Django là một khuôn khổ phát triển web dành cho Python Nó cung cấp các phương pháp tiêu chuẩn để phát triển website nhanh chóng và hiệu quả. Mục tiêu chính của framework web cấp cao này là tạo ra các website 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 một cách suôn sẻ 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à vận hành. 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 tạo ra 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 sẵn.
- Nó giúp bạn đáp ứng nhanh chóng nhu cầu lưu lượng truy cập khổng lồ.
- 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ư các nền tảng tính toán khoa học.
- Django giúp bạn thực hiện kiểm thử ứng dụng từ đầu đến cuối.
- Nó giúp bạn lập tài liệu cho API của mình bằng định dạng HTML.
- Khung REST hỗ trợ mạnh mẽ nhiều giao thức xác thực khác nhau.
- Nó cung cấp các chính sách về quyền hạn và giới hạn tốc độ.
- 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 này được Adrian Holovaty và Simon Willison khởi xướng 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 7 năm 2005 với tên gọi "Django", đặt theo tên của nghệ sĩ guitar nhạc jazz Django Reinhardt. |
| Tháng Sáu 2008 | Người ta đã tuyên bố rằng phần mềm Django Foundation (DSF) sẽ duy trì Django. |
| 29 2009 tháng bảy | Django 1.1 được phát hành với các tính năng như aggregate và kiểm thử dựa trên giao dịch. |
| 17 Tháng năm, 2010 | Django 1.2 đã được phát hành. Bản cập nhật này cung cấp các tính năng như hỗ trợ nhiều cơ sở dữ liệu và hệ thống quản lý email, đồng thời cải tiến phiên làm việc và cookie. |
| 23 Mar 2011 | Phiên bản 1.3 đã giới thiệu các tính năng như chế độ xem dựa trên lớp và các tệp tĩnh. |
| 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à kiểm tra trực tiếp trên trình duyệt. |
| Tháng Hai 26 2013 | Phiên bản 1.5 đi kèm với Python 3 tính năng hỗ trợ và mô hình người dùng có thể cấu hình. |
| Tháng Mười Một 6 2013 | Phiên bản 1.6 đi kèm với các tính năng quản lý giao dịch cơ sở dữ liệu và quản lý nhóm kết nối. |
| 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 dữ liệu và cấu hình. |
| 1 2015 tháng tư | Hỗ trợ gốc đượ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 đã được đư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 đầu tiên Python Phiên bản chỉ phát hành cho 3 thiết bị. |
| 1 Tháng Tám 2018 | Phiên bản 2.1 đi kèm với các tính năng hỗ trợ quyền "xem" mô hình. |
| 2021 | Đã loại bỏ hỗ trợ cho Django 3.0 và thêm hỗ trợ cho Django 3.2. |
Trong hướng dẫn Django dành cho người mới bắt đầu này, chúng ta 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 các mẫu cho URLtrong đơn đăng ký của bạn.
- Đơn giản nhưng mạnh mẽ URL hệ thống.
- Hệ thống xác thực tích hợp.
- Một 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 thêm, chỉnh sửa và xóa các mục. Bạn có thể tùy chỉnh bảng điều khiển quản trị theo nhu cầu của mình.
- Khung bộ nhớ đệm đi kèm với nhiều cơ chế bộ nhớ đệm khác nhau.
Trong bài hướng dẫn về framework 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:
- Ghép đôi lỏng lẻo – Django giúp bạn làm cho mỗi thành phần trong ngăn xếp của nó hoạt động độc lập với các thành phần khác.
- Less mã – Đảm bảo sự phát triển hiệu quả.
- Không lặp lại – Mọi thứ nên được phát triển tại cùng một địa điểm thay vì lặp lại nhiều lần.
- Phát triển nhanh – Django 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ì thiết kế gọn gàng và giúp dễ dàng tuân theo các nguyên tắc 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
Mẫu MVC
Khi nói về các ứng dụng cung cấp giao diện người dùng (trên web hoặc máy tính để bàn), chúng ta thường đề cập đến kiến trúc MVC. Mô hình MVC dựa trên Model, View và Controller.
Mẫu Định nghĩa cấu trúc dữ liệu và đảm nhiệm 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 Đây là phần của ứng dụng chịu trách nhiệm xử lý tương tác người dùng.
Mẫu Django MVC-MVT
Mô hình 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 sự tương tác giữa Model và View). Còn template là một tệp HTML được kết hợp với tệp Ngôn ngữ Mẫu Django, hay còn gọi là DTL.
Sơ đồ bên dưới minh họa cách tất cả các thành phần của mô hình MVT tương tác với nhau để đáp ứng yêu cầu cụ thể của người dùng.
MVT Archikiến trúc
Như sơ đồ trên cho thấy, người dùng yêu cầu một tài nguyên từ Django. Django hoạt động như một bộ điều khiển và kiểm tra xem tài nguyên đó có sẵn hay không. URL.
Nếu URL Trong Maps, một View được gọi để tương tác với Model và Template. Django sau đó phản hồi lại người dùng và gửi một Template làm phản hồi.
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ó quản lý tài khoản người dùng, nhóm, phiên người dùng dựa trên cookie, và nhiều hơn nữa.
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 hỗ trợ dịch văn bản sang nhiều ngôn ngữ khác nhau, cũng như định dạng ngày tháng, giờ giấc, số và múi giờ theo từng vùng miền cụ thể.
Bảo mật
Django cung cấp các 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à danh sách các công ty đang sử dụng Django:
- Bitbucket
- Are On
- NASA
- PBS (Dịch vụ phát thanh truyền hình công cộng)
- Mozilla
- The Washington Post
- The New York Times
- Los Angeles Times
- The Guardian
- National Geographic
- Kênh khám phá
Nhược điểm của việc sử dụng Django
Dưới đây là một số nhược điểm khi sử dụng Django:
- Một tiến trình duy nhất 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, điều này có thể gây nhầm lẫn.
- Để làm việc với Django, bạn cần nắm vững toàn bộ hệ thống.
- Nó khiến các thành phần của ứng dụng web liên kết chặt chẽ với nhau.
- Bạn cần lập trình dài cho các nhiệm vụ nhỏ.


