- Web2py 教程
- Web2py - 首頁
- Web2py - 簡介
- Web2py - Python 語言
- Web2py - 框架概述
- Web2py - 核心
- Web2py - 檢視
- Web2py - 資料庫抽象層
- Web2py - 表單 & 驗證器
- Web2py - 郵件 & 簡訊
- Web2py - 訪問控制
- Web2py - 服務
- Web2py - 新增 Ajax 效果
- Web2py - 元件
- Web2py - 部署
- Web2py - 安全
- Web2py 有用資源
- Web2py - 快速指南
- Web2py - 有用資源
- Web2py - 討論
Web2py - 簡介
web2py 定義為一個免費的、開源的用於敏捷開發的 Web 框架,涉及資料庫驅動的 Web 應用程式;它使用 Python 編寫,並可以用 Python 程式設計。它是一個全棧框架;它包含構建一個功能完備的 Web 應用程式所需的所有必要元件。
web2py 框架遵循 Web 應用程式執行的模型-檢視-控制器模式,不同於傳統模式。
模型是應用程式的一部分,其中包含資料邏輯。模型中的物件用於從資料庫中檢索和儲存資料。
檢視是應用程式的一部分,有助於將資料顯示呈現給終端使用者。資料顯示是從模型中獲取的。
控制器是應用程式的一部分,它處理使用者互動。控制器可以從檢視中讀取資料,控制使用者輸入,並將輸入資料傳送到特定的模型。
web2py 具有管理 Cookie 和會話的內建功能。提交事務(以 SQL 術語)後,會話也會同時儲存。
web2py 能夠在某些操作完成後以計劃的時間間隔執行任務。這可以透過CRON實現。
web2py – 工作流程
請檢視下面給出的工作流程圖。
下面描述了工作流程圖。
模型、檢視和控制器元件構成了使用者 web2py 應用程式。
可以在 web2py 的同一例項中託管多個應用程式。
瀏覽器將 HTTP 請求傳送到伺服器,伺服器與模型、控制器和檢視互動以獲取必要的輸出。
箭頭表示與資料庫引擎的通訊。資料庫查詢可以用原始 SQL 編寫,也可以使用 web2py 資料庫抽象層(將在後續章節中討論),以便web2py應用程式程式碼獨立於任何資料庫引擎。
模型建立與資料庫的資料庫連線並與控制器互動。另一方面,控制器與檢視互動以呈現資料顯示。
排程程式將 HTTP 響應中給定的請求 URL 對映到控制器中的函式呼叫。函式的輸出可以是字串或雜湊表。
資料由檢視呈現。如果使用者請求 HTML 頁面(預設值),則資料將呈現為 HTML 頁面。如果使用者請求 XML 中的同一頁面,web2py 會嘗試查詢可以將字典呈現為 XML 的檢視。
web2py 支援的協議包括 HTML、XML、JSON、RSS、CSV 和 RTF。
模型-檢視-控制器
web2py 的模型-檢視-控制器表示如下:
模型
"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(‘phone’))
模型包含應用程式資料的邏輯。它連線到如上圖所示的資料庫。假設正在使用 SQLite 並將其儲存在storage.sqlite檔案中,其中定義了一個名為 employee 的表。如果表不存在,web2py 會透過建立相應的表來提供幫助。
控制器
程式"default.py"是控制器。
def employees(): grid = SQLFORM.grid(db.contact, user_signature = False) return locals()
在web2py中,URL 對映有助於訪問函式和模組。對於上述示例,控制器包含一個名為 employees 的單個函式(或“操作”)。
控制器採取的操作返回一個字串或一個 Python 字典,它是一組鍵值對,包括一組區域性變數。
檢視
"default/contacts.html"是檢視。
{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}
對於給定的示例,檢視在關聯的控制器函式執行後顯示輸出。
此檢視的目的是呈現字典中的變數,這些變數採用 HTML 格式。檢視檔案是用 HTML 編寫的,但它藉助{{ 和 }}分隔符嵌入 Python 程式碼。
嵌入到 HTML 中的程式碼包含字典中的 Python 程式碼。
開始使用 web2py
web2py 以二進位制軟體包的形式提供,適用於所有主要的 операционные системы,如 Windows、UNIX 和 Mac OS X。
安裝 web2py 很容易,因為:
它包含 Python 直譯器,因此您無需預先安裝它。還有一個在所有作業系統上執行的原始碼版本。
以下連結包含web2py的二進位制軟體包,供使用者根據需要下載:www.web2py.com
與其他框架不同,web2py框架無需預安裝。使用者需要下載 zip 檔案並根據作業系統要求解壓縮。
web2py框架是用 Python 編寫的,Python 是一種完整的動態語言,不需要任何編譯或複雜的安裝即可執行。
它使用虛擬機器,類似於其他程式語言(如 Java 或 .net),並且可以透明地位元組編譯開發人員編寫的原始碼。
| 作業系統 | 命令 |
|---|---|
| Unix 和 Linux(原始碼分發) | python web2py.py |
| OS X(二進位制分發) | open web2py.app |
| Windows(二進位制 web2py 分發) | web2py.exe |
| Windows(原始碼 web2py 分發) | c:/Python27/python.exe web2py.py |