• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

嵌入式工程師入門前后端系列2:搭建web.py環(huán)境

2020/12/15
128
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

web.py 是一個(gè)輕量級的 web 開發(fā)框架,作為初學(xué)者,我計(jì)劃先從這個(gè)學(xué)起來。https://webpy.org/ 這里是 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

它會提示如下錯(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.application(urls,?globals())

app.run()

瀏覽器中輸入:http://127.0.0.1:8080/hello

在阿里云上部署,也是完全一樣的操作。

我們來解釋下這段代碼:

第 1 行:import web, 在每個(gè) 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,是一個(gè)類,

GET 用于請求網(wǎng)頁文本。

下面是返回的東西,也就是我們網(wǎng)頁看到的東西。

當(dāng)有人用 GET 請求 / 時(shí),這個(gè) GET 函數(shù)隨時(shí)會被 web.py 調(diào)用。

第 10 行:

一個(gè) python 文件通常有兩種使用方法,第一是作為腳本直接執(zhí)行,第二是 import 到其他的 python 腳本中被調(diào)用(模塊重用)執(zhí)行。因此 if __name__ == 'main': 的作用就是控制這兩種情況執(zhí)行代碼的過程,在 if __name__ == 'main': 下的代碼只有在第一種情況下(即文件作為腳本直接執(zhí)行)才會被執(zhí)行,而 import 到其他腳本中是不會被執(zhí)行的。

第 11 行:

這會告訴 web.py 去創(chuàng)建一個(gè)基于我們剛提交的 URL 列表的 application。這個(gè) application 會在這個(gè)文件的全局命名空間中查找對應(yīng)類。

第 12 行:

這會告訴 web.py 為我們啟動上面我們寫的應(yīng)用。

參考資料:

https://www.cnblogs.com/dolphin0520/p/3343617.html

https://www.oschina.net/question/5189_4306

關(guān)注公眾號,掃碼加入嵌入式交流群:

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級 參考價(jià)格 更多信息
EPM2210F256A5 1 Altera Corporation Flash PLD, 11.2ns, 1700-Cell, CMOS, PBGA256,
暫無數(shù)據(jù) 查看
10M08DAU324C8G 1 Intel Corporation Field Programmable Gate Array, 8000-Cell, CMOS, PBGA324, 15 X 15 MM, 0.80 MM PITCH, ROHS COMPLIANT, UBGA-324
$68.31 查看
5M570ZT100A5N 1 Altera Corporation Flash PLD, 17.7ns, 440-Cell, CMOS, PQFP100, 16 X 16 MM, 0.50 MM PITCH, LEAD FREE, TQFP-100

ECAD模型

下載ECAD模型
$79.5 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄