訂閱
糾錯
加入自媒體

嵌入式入門前后端系列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)用。

聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號