Web2py - Giới thiệu

web2pyđược định nghĩa là một khuôn khổ web mã nguồn mở, miễn phí để phát triển nhanh liên quan đến các ứng dụng web hướng cơ sở dữ liệu; nó được viết bằng Python và có thể lập trình được bằng Python. Nó là một khuôn khổ full-stack; nó bao gồm tất cả các thành phần cần thiết, một nhà phát triển cần xây dựng một ứng dụng web đầy đủ chức năng.

web2py khuôn khổ tuân theo Model-View-Controller mô hình của các ứng dụng web đang chạy không giống như các mẫu truyền thống.

  • Modellà một phần của ứng dụng bao gồm logic cho dữ liệu. Các đối tượng trong mô hình được sử dụng để truy xuất và lưu trữ dữ liệu từ cơ sở dữ liệu.

  • Viewlà một phần của ứng dụng, giúp hiển thị dữ liệu hiển thị cho người dùng cuối. Hiển thị dữ liệu được lấy từ Model.

  • Controllerlà một phần của ứng dụng, xử lý tương tác của người dùng. Bộ điều khiển có thể đọc dữ liệu từ chế độ xem, kiểm soát đầu vào của người dùng và gửi dữ liệu đầu vào đến mô hình cụ thể.

  • web2pycó một tính năng tích hợp để quản lý cookie và phiên. Sau khi thực hiện một giao dịch (về mặt SQL), phiên này cũng được lưu trữ đồng thời.

  • web2pycó khả năng chạy các nhiệm vụ trong các khoảng thời gian đã định sau khi hoàn thành các hành động nhất định. Điều này có thể đạt được vớiCRON.

web2py - Quy trình làm việc

Hãy xem sơ đồ quy trình làm việc dưới đây.

Sơ đồ quy trình làm việc được mô tả bên dưới.

  • Các Models, ViewsController các thành phần tạo nên ứng dụng web2py của người dùng.

  • Nhiều ứng dụng có thể được lưu trữ trong cùng một phiên bản của web2py.

  • Trình duyệt gửi yêu cầu HTTP đến máy chủ và máy chủ tương tác với Model, ControllerView để tìm nạp đầu ra cần thiết.

  • Các mũi tên thể hiện giao tiếp với (các) công cụ cơ sở dữ liệu. Các truy vấn cơ sở dữ liệu có thể được viết bằng SQL thô hoặc bằng cách sử dụng Lớp trừu tượng cơ sở dữ liệu web2py (sẽ được thảo luận trong các chương tiếp theo), do đóweb2py mã ứng dụng độc lập với bất kỳ công cụ cơ sở dữ liệu nào.

  • Model thiết lập kết nối cơ sở dữ liệu với cơ sở dữ liệu và tương tác với Controller. CácController mặt khác tương tác với View để hiển thị dữ liệu.

  • Các Dispatcheránh xạ URL được yêu cầu như được cung cấp trong phản hồi HTTP tới một lệnh gọi hàm trong bộ điều khiển. Đầu ra của hàm có thể là một chuỗi hoặc một bảng băm.

  • Dữ liệu được kết xuất bởi View. Nếu người dùng yêu cầu một trang HTML (mặc định), dữ liệu sẽ được hiển thị thành một trang HTML. Nếu người dùng yêu cầu cùng một trang trong XML, web2py sẽ cố gắng tìm một dạng xem có thể hiển thị từ điển trong XML.

  • Các giao thức được hỗ trợ của web2py bao gồm HTML, XML, JSON, RSS, CSV và RTF.

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

Các model-view-controller đại diện của web2py như sau:

Mô hình

"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(‘phone’))

Các Modelbao gồm logic của dữ liệu ứng dụng. Nó kết nối với cơ sở dữ liệu như đã đề cập trong hình trên. Hãy xem xét SQLite đang được sử dụng và được lưu trữ trongstorage.sqlitetệp với một bảng được xác định là nhân viên. Nếu bảng không tồn tại, web2py sẽ trợ giúp bằng cách tạo bảng tương ứng.

Bộ điều khiển

Chương trình "default.py"Controller.

def employees():
   grid = SQLFORM.grid(db.contact, user_signature = False)
   return locals()

Trong web2py, Ánh xạ URL giúp truy cập các chức năng và mô-đun. Đối với ví dụ trên, Bộ điều khiển chứa một chức năng duy nhất (hoặc "hành động") được gọi là nhân viên.

Hành động được thực hiện bởi Controller trả về một chuỗi hoặc một từ điển Python, là sự kết hợp của khóa và giá trị bao gồm một tập hợp các biến cục bộ.

Lượt xem

"default/contacts.html"View.

{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}

Đối với ví dụ đã cho, View hiển thị đầu ra sau khi thực thi chức năng bộ điều khiển liên quan.

Mục đích của việc này Viewlà hiển thị các biến trong từ điển, ở dạng HTML. CácView tệp được viết bằng HTML, nhưng nó nhúng mã Python với sự trợ giúp của {{ and }} dấu phân cách.

Mã được nhúng vào HTML bao gồm mã Python trong từ điển.

Bắt đầu với web2py

web2py có trong các gói nhị phân cho tất cả các hệ điều hành chính như Windows, UNIX và Mac OS X.

Rất dễ cài đặt web2py vì -

  • Nó bao gồm trình thông dịch Python, vì vậy bạn không cần phải cài đặt sẵn nó. Ngoài ra còn có một phiên bản mã nguồn chạy trên tất cả các hệ điều hành.

  • Liên kết sau bao gồm các gói nhị phân của web2pyđể tải xuống theo nhu cầu của người dùng - www.web2py.com

  • Các web2pyframework không cần cài đặt trước không giống như các framework khác. Người dùng cần tải xuống tệp zip và giải nén theo yêu cầu của hệ điều hành.

  • Các web2py framework được viết bằng Python, là một ngôn ngữ động hoàn chỉnh không yêu cầu bất kỳ biên dịch hoặc cài đặt phức tạp nào để chạy.

  • Nó sử dụng một máy ảo giống như các ngôn ngữ lập trình khác như Java hoặc .net và nó có thể biên dịch byte một cách rõ ràng mã nguồn do các nhà phát triển viết.

Hệ điều hành Chỉ huy
Unix và Linux (phân phối nguồn) python web2py.py
OS X (phân phối nhị phân) mở web2py.app
Windows (phân phối web2py nhị phân) web2py.exe
Windows (nguồn phân phối web2py) c: /Python27/python.exe web2py.py