Chế độ xem trong Python Django là gì?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu chi tiết về thành phần chế độ xem của Django, thảo luận về sự khác biệt giữa chế độ xem dựa trên lớp và chế độ xem dựa trên hàm và quy trình tạo chế độ xem trong Django. Trước khi bắt đầu hướng dẫn này, chúng tôi khuyên bạn nên hoàn thành hướng dẫn về mô hình Django vì chúng ta sẽ học cách truy cập dữ liệu của các mô hình trong chế độ xem

Django với tư cách là một kiến ​​trúc MVC tuân theo một triết lý thiết kế, kết hợp lỏng lẻo. Bằng cách kết hợp lỏng lẻo, chúng tôi muốn nói rằng việc sửa đổi một thành phần riêng lẻ sẽ có ảnh hưởng nhỏ hoặc không ảnh hưởng đến các thành phần khác

Đầu tiên chúng ta sẽ thảo luận về thành phần view của MVC

Thành phần lượt xem Django

Luôn cập nhật các xu hướng công nghệ mới nhất
Tham gia DataFlair trên Telegram.

1. Chế độ xem trong Kiến trúc MVC

Chế độ xem là một thành phần trong kiến ​​trúc Django MVC chứa logic sẽ được hiển thị cho người dùng. Trong kiến ​​trúc MVC truyền thống, nó thực hiện điều đó bằng cách phối hợp với cả mô hình và bộ điều khiển. Nó đặt ra một vấn đề là chế độ xem phụ thuộc vào cả kiểu máy và bộ điều khiển nên chế độ xem hiển thị theo hai thành phần. Điều này vi phạm triết lý thiết kế của MVC vì một thành phần phụ thuộc quá nhiều vào các thành phần khác

Thiết kế trang web thay đổi thường xuyên hơn logic nghiệp vụ và chế độ xem hầu hết thời gian chứa cả hai do đó phối hợp với cả bộ điều khiển và mô hình. Điều này gây khó khăn cho các nhà phát triển front-end và back-end trong việc phối hợp dữ liệu của họ với các thành phần để hiển thị

2. Lượt xem trong Kiến trúc MTV

Các vấn đề nêu trên đã được giải quyết bằng kiến trúc MTV của Django trong đó chế độ xem chỉ chứa logic nghiệp vụ, tôi. e. , trang web nào sẽ được hiển thị ở đầu vào nào và cũng trở thành trung gian hòa giải giữa mô hình và mẫu

Một trong những câu hỏi quan trọng phát sinh từ đây - Chế độ xem bộ điều khiển có ở Django không?

Câu trả lời là 'không' vì Chế độ xem Django chỉ tương ứng với mẫu cụ thể, về mặt kỹ thuật, chúng không tự chọn mô hình hoặc chế độ xem

Câu hỏi này phát sinh vì công việc của bộ điều khiển trong MVC là chọn chế độ xem cho dữ liệu cụ thể

Bây giờ, câu hỏi sẽ xuất hiện trong đầu bạn – Thành phần nào là bộ điều khiển?

Trên thực tế, đó chính là Khung Django và do đó, đây là khung tốt nhất vì bộ điều khiển là phần phức tạp nhất của mã vì nó phải kiểm soát và giao tiếp với mọi thành phần một cách hiệu quả. Do đó, nó cần phải được viết một cách chính xác và điều đó được giải quyết bởi Django Framework

Bây giờ, chúng ta sẽ thảo luận về sự khác biệt giữa các quan điểm được hỗ trợ bởi Django;

Chế độ xem dựa trên lớp so với Chế độ xem dựa trên chức năng

Chế độ xem dựa trên lớp

Đầu tiên, Django chỉ bắt đầu với Chế độ xem dựa trên chức năng, nhưng sau đó đã thêm Chế độ xem dựa trên lớp như một cách để tạo khuôn mẫu cho chức năng. Do đó, chúng tôi không phải viết bản soạn sẵn [i. e. cùng một mã] mã lặp đi lặp lại. CBV là một cách để tăng năng suất và tạo ra nó để chúng ta không phải viết nhiều mã

Tổ chức mã liên quan đến các phương thức HTTP cụ thể [GET, POST, v.v. ] hiển thị dưới dạng các phương thức riêng biệt thay vì phân nhánh có điều kiện

Các kỹ thuật hướng đối tượng như mixin [đa kế thừa] mã hóa thành các thành phần có thể tái sử dụng.
Chế độ xem dựa trên lớp không thay thế cho Chế độ xem dựa trên chức năng nhưng nhờ tính kế thừa nên chúng dễ triển khai và tối ưu hơn.

Chế độ xem dựa trên chức năng

Chức năng Xem hoặc gọi tắt là chế độ xem là một chức năng Python nhận yêu cầu Web và đưa ra phản hồi Web. Phản hồi này là nội dung HTML của trang Web hoặc tài liệu XML hoặc chuyển hướng hoặc lỗi 404 hoặc hình ảnh. Bản thân Chế độ xem bao gồm bất kỳ logic tùy ý nào yêu cầu để trả về phản hồi đó

Chức năng này dễ triển khai và nó khá hữu ích nhưng nhược điểm chính là trên một dự án Django kích thước lớn, thường có nhiều chức năng tương tự trong các khung nhìn. Một ví dụ là tất cả các đối tượng của dự án Django đều có thao tác CRUD, do đó mã này lặp lại không cần thiết. Đây là lý do chính để tạo ra các chế độ xem dựa trên Lớp chung

Tạo chế độ xem Django trong các bước dễ dàng

Trong hướng dẫn trước, chúng tôi đã tạo một mô hình, bây giờ chúng tôi sẽ kết nối mô hình của mình với chế độ xem. Chúng tôi đã thực sự sử dụng chế độ xem. py trong hướng dẫn Ứng dụng Django của chúng tôi nhưng ở đây chúng tôi sẽ thực hiện lại từ đầu

Dưới đây là các bước để tạo chế độ xem Django cho dự án của chúng tôi

Bước 1. Trong thư mục ứng dụng sinh viên của chúng tôi, hãy tạo một tệp python mới có tên url. py

Bước 2. Bên trong tập tin đó sao chép mã này như nó là

from django.urls import path
from . import views
urlpatterns = [
path['', views.student_show, name = 'student_show'],
]

 

Hiểu mã

Ở đây, chúng tôi đang tạo tệp url cho ứng dụng của mình chứ không phải toàn bộ dự án. Tệp url này sẽ chứa tất cả các URL bên trong nó liên quan đến ứng dụng của chúng tôi. Do đó, chúng tôi nhận được tệp urls_config chính sạch hơn

Bây giờ, chúng tôi sẽ kết nối dự án của chúng tôi với ứng dụng

Bước 3. mở url. py của dự án nằm trong thư mục gốc

Bước 4. Bây giờ thêm mục này vào danh sách urlpatterns

path[‘student/’, include[‘student.urls’]],

 

Hiểu Mã

Mã này thực sự đang hướng tệp url chính của chúng ta đến định vị và chạy tệp url trong thư mục sinh viên khi URL chứa phần cuối là student/

Khám phá các tính năng độc đáo của Django một cách chi tiết

Bước 5. Bây giờ trong thư mục sinh viên, hãy mở chế độ xem. tập tin py

from django.shortcuts import render
from django.http import HttpResponse
def student_show[request]:
    x = []
    for i in range[10]:
        x.append[i]
    return HttpResponse["

DataFlair Django Tutorials

The Digits are {0}".format[x]]

 

Hiểu Mã

Ở đây chúng tôi đã nhập HttpResponse từ thư viện django. http vì chúng tôi cần phản hồi ở định dạng HTTP. Ngoài ra, chúng tôi đang chuyển yêu cầu tham số cho hàm

Mọi chức năng xem sẽ có tham số đầu tiên theo yêu cầu

Sau đó, chúng tôi đã viết một chương trình python đơn giản lưu trữ các chữ số 0-9 trong một danh sách và chúng tôi đã chuyển danh sách đó dưới dạng một chuỗi tới HttpResponse. Sau đó, nó sẽ chuyển đổi giống như HTTP và điều đó sẽ được trả lại cho trình duyệt của chúng tôi dưới dạng HTML, sau đó hiển thị theo cách đó

Tệp Chế độ xem này rất đặc biệt như bạn có thể thấy, chúng tôi đang chuyển HTML dưới dạng chuỗi và hiển thị trên trình duyệt

Bước 6. Để chạy chế độ xem này, chỉ cần nhập vào thanh url, http. //máy chủ cục bộ. 8000/học sinh/

Đảm bảo chạy máy chủ Django. Bây giờ, bạn có thể tưởng tượng, với mức độ tích hợp của python với web, bạn có thể dễ dàng thao tác với dữ liệu của mình trong Django

Đầu ra của chế độ xem trên phải là

Hãy xem Top Django Books để nâng cao kiến ​​thức về Django Development

Nếu bạn sẽ kiểm tra HTML trong trình duyệt thì bạn sẽ chỉ thấy những gì chuyển qua dưới dạng HttpResponse trong Chuỗi chứ không phải bất kỳ mã python nào

Đó là cách chúng tôi có thể tạo Chế độ xem trong Django. Đây là dạng Chế độ xem đơn giản nhất, bạn thực sự có thể làm được nhiều việc hơn là viết mã HTML trong chuỗi

Tuy nhiên, quá trình phát triển web này vẫn giữ đầu ra kết xuất trong tệp máy chủ thay vì trên máy chủ tài nguyên. Đối với điều đó, Mẫu thành phần thứ 3 của Django đã có

Tóm lược

Django khác với các khuôn khổ khác vì có một cách nhất định để thực hiện các tác vụ trong Django, The Django Way và chúng tôi đang tìm hiểu điều tương tự trong Hướng dẫn Django của chúng tôi. Mặc dù đôi khi Django bị chỉ trích vì hành vi nguyên khối nhưng nó khá dễ chịu vì có một cách rất hợp lý để thực hiện các hoạt động

Trong hướng dẫn này, chúng tôi đã đề cập đến khái niệm về chế độ xem Django và cách chúng tôi có thể kết nối và tạo chế độ xem trong Django

Vì vậy, bây giờ bạn phải rõ ràng với khái niệm về Chế độ xem Django. Nếu bạn có bất kỳ câu hỏi nào liên quan đến chủ đề, đừng ngần ngại nhập vào phần bình luận. Chúng tôi chắc chắn sẽ giải quyết nó càng sớm càng tốt

Chế độ xem trong Python là gì?

Hàm xem hay gọi tắt là chế độ xem là hàm Python nhận yêu cầu web và trả về phản hồi web . Phản hồi này có thể là nội dung HTML của trang web hoặc chuyển hướng hoặc lỗi 404 hoặc tài liệu XML hoặc hình ảnh. . . hoặc bất cứ điều gì, thực sự.

Tại sao chế độ xem Django được gọi là chế độ xem?

Chế độ xem mô tả loại dữ liệu bạn nhìn thấy chứ không phải cách bạn nhìn thấy dữ liệu đó . Đó là một sự khác biệt tinh tế. Vì vậy, trong trường hợp của chúng tôi, một “chế độ xem” là hàm gọi lại Python cho một URL cụ thể, bởi vì hàm gọi lại đó mô tả dữ liệu nào được trình bày.

Chế độ xem và URL trong Django là gì?

Một yêu cầu trong Django trước tiên đến các url. py và sau đó chuyển đến chức năng khớp trong chế độ xem. p . Hàm Python trong dạng xem. py nhận yêu cầu web từ các url. py và cung cấp phản hồi web cho các mẫu. Nó có thể chuyển đến lớp truy cập dữ liệu trong các mô hình. py theo bộ truy vấn.

Làm cách nào để viết chế độ xem trong Django?

Tạo chế độ xem Django theo các bước đơn giản .
Trong thư mục ứng dụng sinh viên của chúng tôi, hãy tạo một tệp python mới có tên url. py
Bên trong tập tin đó sao chép mã này như nó là. .
mở url. py của dự án nằm trong thư mục gốc
Bây giờ thêm mục này vào danh sách urlpatterns. .
Bây giờ trong thư mục sinh viên, hãy mở chế độ xem. tập tin py

Chủ Đề