TurboGears - Tổng quan

Web Framework là gì?

Web Application Framework hay đơn giản là Web Framework đại diện cho một tập hợp các thư viện và mô-đun, cho phép nhà phát triển ứng dụng web viết các ứng dụng mà không phải bận tâm đến các chi tiết cấp thấp như giao thức, quản lý luồng, v.v.

TurboGears là gì?

TurboGears là một khung ứng dụng web được viết bằng Python. Ban đầu được tạo ra bởi Kevin Dangoor vào năm 2005, phiên bản mới nhất TurboGears (phiên bản 2.3.7) được quản lý bởi một nhóm các nhà phát triển do Mark Ramm và Florent Aide dẫn đầu.

TurboGears tuân theo mô hình Model-View-Controller cũng như hầu hết các khung công tác web hiện đại như Rails, Django, Struts, v.v.

Bộ điều khiển xem mô hình

MVC là một mẫu thiết kế phần mềm để phát triển các ứng dụng web. Mẫu Bộ điều khiển Chế độ xem Mô hình được tạo thành từ ba phần:

  • Model - Mức thấp nhất của mẫu có trách nhiệm duy trì dữ liệu.

  • View - Điều này có trách nhiệm hiển thị tất cả hoặc một phần dữ liệu cho người dùng.

  • Controller - Mã phần mềm kiểm soát các tương tác giữa Mô hình và Chế độ xem.

MVC phổ biến vì nó tách biệt logic ứng dụng khỏi lớp giao diện người dùng và hỗ trợ tách các mối quan tâm. Tại đây, Bộ điều khiển nhận tất cả các yêu cầu cho ứng dụng và sau đó làm việc với Mô hình để chuẩn bị bất kỳ dữ liệu nào mà Chế độ xem cần. Sau đó, Chế độ xem sử dụng dữ liệu do Bộ điều khiển chuẩn bị để tạo ra phản hồi có thể trình bày cuối cùng. Phần trừu tượng MVC có thể được biểu diễn bằng đồ thị như sau:

Ngươi mâu

Model chịu trách nhiệm quản lý dữ liệu của ứng dụng. Nó phản hồi yêu cầu từ khung nhìn và nó cũng phản hồi các hướng dẫn từ bộ điều khiển để tự cập nhật.

Xem

Bản trình bày dữ liệu theo một định dạng cụ thể, được kích hoạt bởi quyết định trình bày dữ liệu của người kiểm soát. Chúng là hệ thống tạo khuôn mẫu dựa trên kịch bản rất dễ tích hợp với công nghệ AJAX.

Bộ điều khiển

Bộ điều khiển chịu trách nhiệm phản hồi đầu vào của người dùng và thực hiện các tương tác trên các đối tượng mô hình dữ liệu. Bộ điều khiển nhận đầu vào, nó xác nhận đầu vào và sau đó thực hiện hoạt động nghiệp vụ sửa đổi trạng thái của mô hình dữ liệu.

TurboGears được xây dựng dựa trên một số thư viện và công cụ. Các công cụ này đã thay đổi giữa các phiên bản TurboGears khác nhau. Các thành phần của phiên bản hiện tại (phiên bản 2.3.7) được liệt kê bên dưới.

SQLAlchemy

Nó là một bộ SQL mã nguồn mở cung cấp ánh xạ quan hệ đối tượng (ORM) cho mã Python.

Genshi

Công cụ tạo khuôn mẫu này được sử dụng để xây dựng front-end của các ứng dụng TG. Hệ thống tạo khuôn mẫu web kết hợp một mẫu với một nguồn dữ liệu nhất định để hiển thị các trang web động.

ToscaWidgets

Nó là một thư viện widget để tạo các biểu mẫu HTML với các điều khiển phía máy chủ. Tosca cũng hoạt động như một phần mềm trung gian để kết nối với các widget và bộ công cụ JavaScript.

Hộp số

Nó cung cấp một tập hợp các lệnh để quản lý các dự án và ứng dụng TurboGears máy chủ. Các ứng dụng TurboGears có thể được triển khai trên bất kỳ máy chủ web nào tương thích với WSGI.

Giao diện cổng máy chủ web (WSGI) đã được chấp nhận làm tiêu chuẩn để phát triển ứng dụng web Python. WSGI là một đặc điểm kỹ thuật cho giao diện chung giữa máy chủ web và các ứng dụng web. Gói wsgiref là một triển khai tham chiếu của WSGI. Nó được sử dụng để thêm hỗ trợ WSGI vào khung web TurboGears web. Mô-đun simple_server trong gói này triển khai một máy chủ HTTP đơn giản phục vụ các ứng dụng WSGI. Chúng tôi sẽ sử dụng nó để kiểm tra các ứng dụng được phát triển trong hướng dẫn này.