Web2py - 框架概述



web2py是一個全棧式Web框架,開發人員可以使用它來完整地開發Web應用程式。它包括SQL資料庫整合和多執行緒Web伺服器,用於設計程式。

用於設計使用者程式的Web介面

根據作業系統執行命令後,web2py會顯示一個啟動視窗,然後顯示一個GUI小部件,提示使用者選擇:

  • 一次性管理員密碼,
  • 要用於Web伺服器的網路介面的IP地址,
  • 以及提供請求的埠號。

管理員擁有新增和編輯任何新Web應用程式的所有許可權。

預設情況下,web2py在其Web伺服器上執行 **127.0.0.1:8000**(本地主機的8000埠),但使用者可以根據需要在任何可用的IP地址和埠上執行它。

web2py GUI小部件將顯示如下。

GUI Widget

密碼用於在任何新模組的管理介面進行更改。

使用者設定管理員密碼後,web2py會在以下URL的頁面啟動Web瀏覽器:**http://127.0.0.1:8000/**

框架的歡迎頁面將顯示如下。

Framework

在web2py中設計基本程式

啟動web2py應用程式後,使用上述URL,我們可以使用管理介面建立新的模組,例如**“helloWorld”**。

管理介面會要求輸入密碼進行身份驗證,因為管理員擁有新增和編輯任何新Web應用程式的所有許可權。

Web2py Applications

上面給出的快照包含頁面詳細資訊,其中列出了所有已安裝的web2py應用程式,並允許管理員管理它們。預設情況下,web2py框架附帶三個應用程式。它們是:

  • 一個**admin**應用程式,使用者當前正在實施。

  • 一個**examples**應用程式,包含線上互動式文件和web2py官方網站的例項。

  • 一個**welcome**應用程式。它包含任何其他web2py應用程式的基本模板。它也被稱為**腳手架應用程式**。該應用程式還在啟動時歡迎使用者。

假設新應用程式的名稱為**“helloWorld”**。

建立新應用程式後,使用者將被重定向到一個包含相應應用程式的檢視、模型和控制器的頁面。

Edit Application

使用者可以透過提及以下URL檢視新建立的應用程式:**http://127.0.0.1:8000/helloWorld**

預設情況下,使用者在點選上述URL時可以檢視以下螢幕。

為了列印給定Web應用程式**“helloWorld”**的訊息,需要在**default.py**控制器中進行更改。

Web Application

名為**“index”**的函式是返回值並顯示必要輸出的預設函式。如上所述,字串**“Hello World- Welcome to my first web application”**用作返回值,它在螢幕上顯示輸出。

輸出顯示如下:

Output

回發

驗證表單輸入的機制非常常見,並且不被認為是一種良好的程式設計實踐。每次都驗證輸入,這會給驗證帶來負擔。

web2py中更好的模式是將表單提交到生成它們的同一操作。這種機制稱為**“回發”**,它是web2py的主要功能。簡而言之,在**回發**中實現了自我提交。

def first():
   if request.vars.visitor_name: #if visitor name exists
      session.visitor_name = request.vars.visitor_name
      redirect(URL('second'))#postback is implemented
   return dict()

CRUD應用程式

web2py包含執行建立、檢索、更新和刪除功能的應用程式。**CRUD**週期描述了永續性資料庫的基本功能。

所有應用程式邏輯都寫在模型中,模型由控制器檢索,並藉助檢視顯示給使用者。

appadmin

對於PHP,應用程式伺服器包含在**phpmyadmin**下所有資料庫的列表。類似地,web2py提供了一個用於管理、建立和刪除表或資料庫的介面,稱為**“appadmin”**。

在實現表背後的邏輯之前,有必要建立資料庫及其關聯的表。

訪問**appadmin**的URL:

http://127.0.0.1:8000/applicationname/appadmin

點選URL後,使用者將獲得與給定應用程式關聯的表的列表。

List Of Tables

此介面並非旨在公開使用。它旨在輕鬆訪問資料庫。它包含兩個檔案,即控制器**“appadmin.py”**和檢視**“appadmin.html”**。

它可以一次最多分頁100條記錄。後續章節將討論**“appadmin”**的使用。

廣告

© . All rights reserved.