嵌入式入門前后端系列2:搭建web.py環(huán)境
web.py是一個輕量級的web開發(fā)框架,作為初學(xué)者,我計劃先從這個學(xué)起來。這里是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)上提供的方法大部分是先把源碼包下載下來,然后進(jìn)入后python setup.py install 安裝,但是用這種方法我總是安裝失敗。原因猜測是我的python版本和web.py版本匹配問題,后來解決方法是:通過pip安裝。
在Windows DOS窗口里輸入:pip install web.py==0.40
pip如果不識別,需要在環(huán)境變量PATH中添加C:/Python27/Scripts
它會提示如下錯誤信息:
這時輸入python -m pip install --upgrade pip
之后再重新輸入pip install web.py==0.40
就不再報錯了。
安裝成功后,進(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
在阿里云上部署,也是完全一樣的操作。
我們來解釋下這段代碼:
第1行:import web, 在每個web.py 應(yīng)用,必須先import web 模塊。
第3行:把URL結(jié)構(gòu)告訴web.py。
第一部分是匹配URL的正則表達(dá)式,比如例子中的’/hello’,對應(yīng)你在瀏覽器中輸入的URL是localhost:8080/hello,如果你把改成hello2,你再輸入原來URL就無法訪問。
網(wǎng)址得對應(yīng)修改才能正常訪問,
如果你改成
urls = ('/', 'hello',
)
直接這么輸入就行了
第二部分是接受請求的類名稱。
第6-8行:
對應(yīng)上面的hello,是一個類,
GET用于請求網(wǎng)頁文本。
下面是返回的東西,也就是我們網(wǎng)頁看到的東西。
當(dāng)有人用GET請求/時,這個GET函數(shù)隨時會被web.py調(diào)用。
第10行:
一個python文件通常有兩種使用方法,第一是作為腳本直接執(zhí)行,第二是 import 到其他的 python 腳本中被調(diào)用(模塊重用)執(zhí)行。因此 if __name__ == 'main': 的作用就是控制這兩種情況執(zhí)行代碼的過程,在 if __name__ == 'main': 下的代碼只有在第一種情況下(即文件作為腳本直接執(zhí)行)才會被執(zhí)行,而 import 到其他腳本中是不會被執(zhí)行的。
第11行:
這會告訴web.py去創(chuàng)建一個基于我們剛提交的URL列表的application。這個application會在這個文件的全局命名空間中查找對應(yīng)類。
第12行:
這會告訴web.py為我們啟動上面我們寫的應(yīng)用。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 Intel宣布40年來最重大轉(zhuǎn)型:年底前裁員15000人、拋掉2/3房產(chǎn)
- 2 因美封殺TikTok,字節(jié)股價骨折!估值僅Meta1/5
- 3 宏山激光重磅發(fā)布行業(yè)解決方案,助力智能制造產(chǎn)業(yè)新飛躍
- 4 國產(chǎn)AI芯片公司破產(chǎn)!白菜價拍賣
- 5 具身智能火了,但規(guī)模落地還需時間
- 6 國產(chǎn)英偉達(dá)們,抓緊沖刺A股
- 7 三次錯失風(fēng)口!OpenAI前員工殺回AI編程賽道,老東家捧金相助
- 8 英特爾賦能智慧醫(yī)療,共創(chuàng)數(shù)字化未來
- 9 英偉達(dá)的麻煩在后頭?
- 10 將“網(wǎng)紅”變成“商品”,AI“爆改”實力拉滿
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市