嵌入式入門(mén)前后端系列2:搭建web.py環(huán)境
web.py是一個(gè)輕量級(jí)的web開(kāi)發(fā)框架,作為初學(xué)者,我計(jì)劃先從這個(gè)學(xué)起來(lái)。這里是webpy的官方網(wǎng)站。
web.py is a web framework for Python that is as simple as it is powerful. web.py is in the public domain; you can use it for whatever purpose with absolutely no restrictions.
下面先在Windows下搭建web.py環(huán)境,網(wǎng)上提供的方法大部分是先把源碼包下載下來(lái),然后進(jìn)入后python setup.py install 安裝,但是用這種方法我總是安裝失敗。原因猜測(cè)是我的python版本和web.py版本匹配問(wèn)題,后來(lái)解決方法是:通過(guò)pip安裝。
在Windows DOS窗口里輸入:pip install web.py==0.40
pip如果不識(shí)別,需要在環(huán)境變量PATH中添加C:/Python27/Scripts
它會(huì)提示如下錯(cuò)誤信息:
這時(shí)輸入python -m pip install --upgrade pip
之后再重新輸入pip install web.py==0.40
就不再報(bào)錯(cuò)了。
安裝成功后,進(jìn)入到目錄里執(zhí)行:python hello.py
hello.py內(nèi)容如下:
import web
urls = ('/hello', 'hello',
)
class hello(object):
def GET(self):
return 'hello world。
if __name__ == "__main__":
app = web.a(chǎn)pplication(urls, globals())
app.run()
瀏覽器中輸入:http://127.0.0.1:8080/hello
在阿里云上部署,也是完全一樣的操作。
我們來(lái)解釋下這段代碼:
第1行:import web, 在每個(gè)web.py 應(yīng)用,必須先import web 模塊。
第3行:把URL結(jié)構(gòu)告訴web.py。
第一部分是匹配URL的正則表達(dá)式,比如例子中的’/hello’,對(duì)應(yīng)你在瀏覽器中輸入的URL是localhost:8080/hello,如果你把改成hello2,你再輸入原來(lái)URL就無(wú)法訪問(wèn)。
網(wǎng)址得對(duì)應(yīng)修改才能正常訪問(wèn),
如果你改成
urls = ('/', 'hello',
)
直接這么輸入就行了
第二部分是接受請(qǐng)求的類(lèi)名稱(chēng)。
第6-8行:
對(duì)應(yīng)上面的hello,是一個(gè)類(lèi),
GET用于請(qǐng)求網(wǎng)頁(yè)文本。
下面是返回的東西,也就是我們網(wǎng)頁(yè)看到的東西。
當(dāng)有人用GET請(qǐng)求/時(shí),這個(gè)GET函數(shù)隨時(shí)會(huì)被web.py調(diào)用。
第10行:
一個(gè)python文件通常有兩種使用方法,第一是作為腳本直接執(zhí)行,第二是 import 到其他的 python 腳本中被調(diào)用(模塊重用)執(zhí)行。因此 if __name__ == 'main': 的作用就是控制這兩種情況執(zhí)行代碼的過(guò)程,在 if __name__ == 'main': 下的代碼只有在第一種情況下(即文件作為腳本直接執(zhí)行)才會(huì)被執(zhí)行,而 import 到其他腳本中是不會(huì)被執(zhí)行的。
第11行:
這會(huì)告訴web.py去創(chuàng)建一個(gè)基于我們剛提交的URL列表的application。這個(gè)application會(huì)在這個(gè)文件的全局命名空間中查找對(duì)應(yīng)類(lèi)。
第12行:
這會(huì)告訴web.py為我們啟動(dòng)上面我們寫(xiě)的應(yīng)用。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)
最新活動(dòng)更多
-
即日-6.16立即報(bào)名>> 【在線會(huì)議】Solution Talks |Computex 2025關(guān)鍵趨勢(shì)深讀
-
6月20日立即下載>> 【白皮書(shū)】精準(zhǔn)測(cè)量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報(bào)名>> 【在線會(huì)議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車(chē)生態(tài)圈峰會(huì)
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動(dòng)力電池技術(shù)應(yīng)用大會(huì)
推薦專(zhuān)題
- 1 AI 眼鏡讓百萬(wàn) APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語(yǔ)權(quán)
- 3 深度報(bào)告|中國(guó)AI產(chǎn)業(yè)正在崛起成全球力量,市場(chǎng)潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級(jí)獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 5 國(guó)家數(shù)據(jù)局局長(zhǎng)劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷(xiāo)中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰(shuí)在領(lǐng)跑?
- 9 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過(guò)于簡(jiǎn)單
- 10 為何全球AI巨頭都在搶?zhuān)縈CP協(xié)議背后的暴富玄機(jī)大公開(kāi)!