訂閱
糾錯(cuò)
加入自媒體

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

web.py是一個(gè)輕量級(jí)的web開發(fā)框架,作為初學(xué)者,我計(jì)劃先從這個(gè)學(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 安裝,但是用這種方法我總是安裝失敗。原因猜測(cè)是我的python版本和web.py版本匹配問題,后來解決方法是:通過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

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

我們來解釋下這段代碼:

第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,你再輸入原來URL就無法訪問。

網(wǎng)址得對(duì)應(yīng)修改才能正常訪問,

如果你改成

urls = ('/', 'hello',

      )

直接這么輸入就行了

第二部分是接受請(qǐng)求的類名稱。

第6-8行:

對(duì)應(yīng)上面的hello,是一個(gè)類,

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

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

當(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í)行代碼的過程,在 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)類。

第12行:

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

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

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評(píng)論

暫無評(píng)論

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

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