Django là gì? Khái niệm cơ bản về Django trong Python

Django là một framework lập trình web bậc cao, mã nguồn mở, được viết bằng ngôn ngữ Python. Web framework là một tập hợp các thành phần giúp bạn phát triển trang web nhanh chóng và dễ dàng hơn.

Framework trong lập trình là gì?

Khi bạn xây dựng một trang web, bạn sẽ cần một tập hợp các thành phần tương tự: cách xác thực người dùng (đăng ký, đăng nhập, đăng xuất), bảng quản lý cho trang web của bạn, biểu mẫu, cách tải tệp lên, v.v. .

Điều may mắn là cũng có rất nhiều web developer từ lâu đã nhận ra rằng có rất nhiều người gặp phải vấn đề tương tự khi xây dựng một trang web mới, vì vậy họ đã hợp tác và tạo ra các framework (Django là một trong số đó) và cung cấp cho chúng ta các thành phần làm sẵn để sử dụng.

Các framework sẽ giúp bạn tiết kiệm rất nhiều thời gian và chi phí khi bạn không cần phải viết lại từng thành phần khi xây dựng một trang web mới.

Tại sao bạn cần Django?

Để hiểu Django thực sự dùng để làm gì, chúng ta cần hiểu rõ hơn về máy chủ (server). Điều đầu tiên, server cần biết rằng bạn muốn nó phục vụ một trang web.

Hãy tưởng tượng một hộp thư (cổng) giám sát các thư gửi đến (request). Điều này được thực hiện bởi một web server. Web server đọc thư và sau đó gửi phản hồi bằng một trang web. Nhưng khi bạn muốn gửi một cái gì đó, bạn cần phải có nội dung. Và Django là thứ giúp bạn tạo ra nội dung.

Điều gì sẽ diễn ra khi có ai đó request một website từ server của bạn?

Khi một yêu cầu được gửi đến một web server, nó sẽ được chuyển đến Django để tìm cách hiểu yêu cầu đó thực sự là gì. Trước tiên, nó cần một địa chỉ web và cố gắng phân tích những công việc cần làm. Phần này sẽ được thực hiện bởi urlresolver của Django (lưu ý rằng địa chỉ trang web được gọi là URL – Uniform Resource Locator – vì vậy tên urlresolver khá hợp lý phải không?). Tuy nhiên urlresolver cũng không phải là một công cụ quá thông minh – nó sẽ lấy một danh sách các pattern và cố gắng lần lượt khớp với URL. Django kiểm tra các pattern từ trên xuống dưới và nếu có thứ gì đó khớp, Django sẽ chuyển yêu cầu đó đến view function.

Hãy tưởng tượng một người vận chuyển thư và một lá thư. Người đưa thư đi bộ xuống phố và kiểm tra từng số nhà so với địa chỉ ghi trên lá thư. Nếu hai thông tin trùng khớp, người đưa thư sẽ để lại thư ở đó. Và đó chính là cách hoạt động của urlresolver!

Tất cả những điều thú vị sẽ diễn ra trong chức năng view: chúng ta có thể nhìn vào cơ sở dữ liệu để tìm kiếm một số thông tin. Có thể người dùng yêu cầu thay đổi điều gì đó trong dữ liệu? Giống như một bức thư ghi, “Vui lòng thay đổi mô tả công việc của tôi.”, view có thể kiểm tra xem bạn có được phép làm điều đó hay không, sau đó cập nhật mô tả công việc cho bạn và gửi lại thông báo: “Đã thay đổi mô tả công việc!”. Sau đó, view tạo ra một phản hồi và Django có thể gửi phản hồi đó đến trình duyệt web của người dùng.

Ví dụ trên được đơn giản hoá để giúp bạn có cái nhìn tổng quát về Django là gì. Nếu muốn tìm hiểu sâu hơn, bạn có thể tham khảo khoá học Django miễn phí trên freeCodeCamp, đây là một khoá học khá hữu ích và dễ hiểu. Ngoài ra, chúng mình cũng sẽ có thêm những bài viết hướng dẫn dùng Django, hãy follow Got It để nhận thông báo mới nhất nhé!

Got It Vietnam via Djagogirls

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

https://d1iv5z3ivlqga1.cloudfront.net/wp-content/uploads/2021/04/29235048/1_QAG9RXQyyMAY7i9OYo84FA.png
Got It Vietnam
December 05, 2020
Share this post to:
Tags:
3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback
12 ứng dụng của Python (Phần 1) - Blog | Got It AI
2 years ago

[…] bởi vì Python cung cấp rất nhiều tùy chọn để phát triển web. Ví dụ: bạn có Django, Pyramid, Flask và Bottle để phát triển các web framework và thậm chí cả các hệ […]

trackback
Tổng hợp tài liệu học Python theo 6 ngành hot nhất 2020 - Blog | Got It AI
2 years ago

[…] > Tìm hiểu thêm: Khái niệm cơ bản về Django trong Python […]

trackback
Bắt đầu học ngôn ngữ lập trình Python qua các dự án - Blog | Got It AI
2 years ago

[…] To Tango With Django – Đây là một hướng dẫn sử dụng Django, một web framework Python khá phức tạp và hay […]

Các bài viết liên quan
Các bước tạo một thư viện Python

Các bước tạo một thư viện Python

Tác giả: Minh (Software Engineer | CAI) Trong Tech Blog số này, Got It sẽ cùng bạn tìm hiểu về 6 bước để tạo và phân phối một thư viện Python. Cụ thể, chúng ta sẽ viết một CLI command tương tự cowsay cùng với một function để các package khác có thể import và […]
Sử dụng pre-commit để thực thi PEP8 chỉ trong 3 bước

Sử dụng pre-commit để thực thi PEP8 chỉ trong 3 bước

Tác giả: Kiên (Software Engineer | CAI) Đảm bảo code tuân thủ đầy đủ các quy tắc được đề xuất trong PEP8 là một điều vô cùng quan trọng, đặc biệt là trong làm việc nhóm, khi mà yếu tố dễ đọc, dễ hiểu, và dễ bảo trì code được đặt lên hàng đầu. Dẫu […]
Hướng dẫn cách triển khai và debug code Python trên Docker

Hướng dẫn cách triển khai và debug code Python trên Docker

Tác giả: Kiên (Software Engineer | CAI) Bạn đã bao giờ mất hàng tiếng đồng hồ, thậm chí vài ngày để cài đặt một số thư viện cần thiết cho việc chạy một project trên máy tính của mình chưa? Nếu có thì đây là bài viết dành cho bạn. Thông thường, khi bạn tham […]
Readable Code

Readable Code

Tác giả: Minh (Software Engineer, CAI) & Hương (TPM, CAI) Mục lục1. Readable code là gì?2. Làm thế nào để viết code dễ đọc?2.1. Style guide2.2. Viết function nhỏ, tập trung vào một tính năng2.3. Đặt tên hợp lý2.3.1. Dùng các tiền tố thích hợp để phân loại function2.3.2. Hạn chế thêm thông tin về […]
Tìm hiểu Tuple trong Python, phân biệt Tuple và List

Tìm hiểu Tuple trong Python, phân biệt Tuple và List

Ở bài viết này, chúng ta sẽ cùng đi tìm hiểu về Tuple trong Python, cách sử dụng chúng như thế nào, và sự khác biệt giữa Tuple và List là gì? Tất cả những nội dung trong bài đọc sẽ đều có ví dụ minh hoạ cụ thể, hi vọng các bạn đọc có […]
Anaconda là gì? Tìm hiểu nền tảng Khoa học dữ liệu phổ biến nhất

Anaconda là gì? Tìm hiểu nền tảng Khoa học dữ liệu phổ biến nhất

Để có thể tạo nên một ứng dụng của riêng mình, điều quan trọng nhất đó là phải thiết lập môi trường làm việc đúng cách. Vì vậy, bạn cần các công cụ để xử lý dữ liệu, xây dựng các mô hình và biểu diễn trên đồ thị. Việc sử dụng nhiều công cụ […]