【Web开发】Python实现Web服务器(web2py)
🍺基于Python的Web服務(wù)器系列相關(guān)文章編寫如下🍺:
文章目錄
- 1、簡介
- 2、下載和安裝
- 3、快速入門
- 4、示例測試
- 4.1 Say hello
- 4.2 Let's count
- 4.3 Say my name
- 4.4 Postbacks
- 4.5 An image blog
- 5、PythonAnywhere
- 結(jié)語
1、簡介
官方地址:
http://www.web2py.com
免費開源全棧框架,快速開發(fā),可擴展,安全和可移植數(shù)據(jù)庫驅(qū)動的基于 Web 的應(yīng)用程序。編寫和編程 Python (版本 3 和 2.7)。
web2py是一種免費的、開源的web開發(fā)框架,用于敏捷地開發(fā)安全的、數(shù)據(jù)庫驅(qū)動的web應(yīng)用;web2py采用Python語言編寫,并且可以使用Python編程。web2py是一個完整的堆棧框架,也就是說它包含了開發(fā)完整功能的web應(yīng)用所需的所有組件。
web2py支持CPython(C語言實現(xiàn))或Jython(Java語言實現(xiàn))。
開發(fā)web應(yīng)用的兩個經(jīng)典方法是:
- 通過編程生成HTML代碼。
早期的CGI腳本遵循第一種模型。 - 將代碼嵌入HTML頁面中。
下列腳本遵循第二種模型,例如PHP[php](代碼用PHP編寫,類似C語言)、ASP(代碼用Visual Basic編寫)以及JSP(代碼用Java編寫)腳本。
web2py由如下組件構(gòu)成:
- 庫(libraries):提供web2py核心功能,可通過編程訪問。
- web服務(wù)器:Rocket WSGI web服務(wù)器。
- 管理(admin)應(yīng)用:用于創(chuàng)建、設(shè)計和管理其它web2py應(yīng)用。admin提供了一個完整的基于web的集成開發(fā)環(huán)境(IDE),用于開發(fā)web2py應(yīng)用。它還包括其它功能,如基于web的測試和shell。
- 示例(examples)應(yīng)用:包含文檔和交互示例。應(yīng)用示例是官方網(wǎng)站web2py.com的副本,并包含epydoc文檔。
- 歡迎(welcome)應(yīng)用:是其它應(yīng)用的基本構(gòu)建模板。默認時,它包含一個純CSS層疊菜單和用戶認證。
web2py鼓勵開發(fā)人員將數(shù)據(jù)表達(Model)、數(shù)據(jù)表示(View)和應(yīng)用工作流(Controller)分離。web2py中一個請求的典型工作流描述如下:
web2py應(yīng)用程序如下圖所示: - 模型 - 表示數(shù)據(jù)表和數(shù)據(jù)庫表。
- 控制器 - 描述應(yīng)用程序邏輯和工作流程。
- 視圖 - 幫助渲染數(shù)據(jù)的顯示。
- 語言 - 描述如何將應(yīng)用程序中的字符string轉(zhuǎn)換為各種支持的語言。
- 靜態(tài)文件 - 不需要處理(如圖像,CSS樣式表等)。
- 關(guān)于和自述 - 項目的細節(jié)。
- 錯誤 - 存儲應(yīng)用程序生成的錯誤報告。
- 會話 - 存儲與每個特定用戶相關(guān)的信息。
- 數(shù)據(jù)庫 - 存儲SQLite數(shù)據(jù)庫和其他表信息。
- 緩存 - 存儲緩存的應(yīng)用程序項。
- 模塊 - 模塊是其他可選的Python模塊。
- 隱私 - 包含的文件由控制器訪問,但不直接由開發(fā)人員訪問。
- 上傳 - 文件由模型訪問,但不直接由開發(fā)人員訪問。
2、下載和安裝
http://www.web2py.com/examples/default/download
下載之后解壓如下:
3、快速入門
在Windows操作系統(tǒng)上, 執(zhí)行: web2py.exe
默認情況下,當(dāng)執(zhí)行完命令后,web2py會顯示開始界面和一個控件讓你設(shè)置administrator密碼和網(wǎng)站啟動的IP和端口地址。默認情況下web2py會啟動在127.0.0.1:8000這個地址上(就是本機的8000端口),但你可以選擇啟動在可用的IP和端口上。你可以命令行查詢可用的IP地址,在Windows上運行ipconfig,在OS X和Linux上運行ifconfig。當(dāng)前我們假設(shè)web2py已經(jīng)啟動在本機的8000端口上(127.0.0.1:8000)。如果web2py啟動在0.0.0.0:8000上則使用所有可用的網(wǎng)卡。
- 現(xiàn)在我們點擊按鈕start server:
- 點擊按鈕admin:
- 輸入密碼之后,點擊登陸按鈕:
這個頁面顯示所有安裝在web2py上安裝的應(yīng)用,并且可以用admin賬戶管理。 web2py默認包含3個應(yīng)用:
- 一個admin應(yīng)用,就是你正在使用的。
- 一個examples應(yīng)用,包含在線的文檔和一個web2py主頁的仿制品。
- 一個welcome應(yīng)用,這是一個基本的模板用來制作其他應(yīng)用。如果你創(chuàng)建新的應(yīng)用,這個應(yīng)用就是模板,包含歡迎界面。
在啟動web2py應(yīng)用程序之后,使用上述URL,我們可以使用管理界面創(chuàng)建一個新模塊,例如“XiaoMu”。管理界面將要求密碼進行認證,因為管理員擁有添加和編輯任何新的Web應(yīng)用程序的所有權(quán)限。
讓新應(yīng)用程序的名稱為“XiaoMu”。一旦創(chuàng)建了新的應(yīng)用程序,用戶被重定向到包含相應(yīng)應(yīng)用程序的視圖,模型和控制器的頁面。
用戶可以通過提及以下URL來查看新創(chuàng)建的應(yīng)用程序:http://127.0.0.1:8000/XiaoMu
默認情況下,用戶可以在點擊上述URL時查看以下屏幕。用于打印給定的網(wǎng)絡(luò)應(yīng)用程序的消息的“XiaoMu”,該變化在由default.py控制器。
web2py包括執(zhí)行創(chuàng)建,檢索,更新和刪除功能的應(yīng)用程序。該CRUD周期描述了一個數(shù)據(jù)庫,這是執(zhí)著的基本功能。所有的應(yīng)用程序邏輯都寫在模型中,這些模型由控制器檢索并在視圖的幫助下顯示給用戶。
web2py提供了一個用于管理,創(chuàng)建和刪除表或數(shù)據(jù)庫的界面,這被稱為“appadmin”。在實現(xiàn)表背后的邏輯之前,有必要創(chuàng)建數(shù)據(jù)庫及其關(guān)聯(lián)的表。
訪問appadmin的URL:http://127.0.0.1:8000/XiaoMu/appadmin
在點擊URL時,用戶將獲得與給定應(yīng)用程序關(guān)聯(lián)的表的列表。
在前面,我們已經(jīng)學(xué)會了如何使用GUI部件啟動web2py服務(wù)器。
可以通過從命令行提示符啟動服務(wù)器來跳過此窗口。
每當(dāng)web2py服務(wù)器啟動時,它都會創(chuàng)建一個文件“ parameters_8000.py ”,其中所有密碼都以散列形式存儲。為了更安全的目的,可以使用以下命令行 -
python web2py.py -a "<recycle>" -i 127.0.0.1 -p 80004、示例測試
4.1 Say hello
- default.py修改如下(Controller):
- default/index.html修改如下(View):
For debugging purposes you can always append:{{=response.toolbar()}}
- 瀏覽器訪問如下:
4.2 Let’s count
- default.py修改如下(Controller):
- default/index.html修改如下(View):
- 瀏覽器訪問如下:
4.3 Say my name
- default.py修改如下(Controller):
- 新增default/first.html如下(View):
- 新增default/second.html如下(View):
- 瀏覽器訪問如下:
4.4 Postbacks
- default.py修改如下(Controller):
- 新增default/first.html如下(View):
- 新增default/second.html如下(View):
- 瀏覽器訪問如下:
4.5 An image blog
創(chuàng)建一個新的應(yīng)用:xiaomu_images,
然后編輯它。
- db.py修改如下(Model):
瀏覽器訪問:http://127.0.0.1:8000/xiaomu_images/appadmin
依次通過界面添加圖片記錄到數(shù)據(jù)庫中:
- default.py修改如下(Controller):
- 新增default/show.html(View):
- 瀏覽器訪問:http://127.0.0.1:8000/xiaomu_images/default/show/1
5、PythonAnywhere
- (1)打開web2py首頁
- (2)點擊按鈕:try it now online
- (3)填寫用戶名后,點擊give me my web2py
- 訪問網(wǎng)址如下:http://xiaomu.pythonanywhere.com/welcome/default/index
結(jié)語
如果您覺得該方法或代碼有一點點用處,可以給作者點個贊,或打賞杯咖啡;╮( ̄▽ ̄)╭
如果您感覺方法或代碼不咋地//(ㄒoㄒ)//,就在評論處留言,作者繼續(xù)改進;o_O???
如果您需要相關(guān)功能的代碼定制化開發(fā),可以留言私信作者;(????)
感謝各位大佬童鞋們的支持!( ′ ▽′ )ノ ( ′ ▽′)っ!!!
總結(jié)
以上是生活随笔為你收集整理的【Web开发】Python实现Web服务器(web2py)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue 分页添加序号
- 下一篇: 微信公众号不限制关键词自动回复次数的解决