久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

webpy使用筆記(一)

 只怕想不到 2015-09-08

webpy入門

  工作環(huán)境中需要經(jīng)常生產(chǎn)和測(cè)試服務(wù)器,,機(jī)房一直很混亂,,因此萌生了開發(fā)一個(gè)簡(jiǎn)單方便的服務(wù)器管理系統(tǒng)(說的好高大上,其實(shí)就是個(gè)可以獲取服務(wù)器信息的小web應(yīng)用),。之所以選擇webpy,,正式因?yàn)樗鼔蚝?jiǎn)單,尤其是對(duì)于我這種python新人來說,。它是一款輕量級(jí)的python web開發(fā)框架,,對(duì)于個(gè)人開發(fā)小應(yīng)用來說很適合。

webpy install

下載:wget http:///static/web.py-0.37.tar.gz
安裝:python setup.py install

webpy 'hello world'

  可以參考webpy的官方文檔:http:///docs/0.3/tutorial

      hello, world如下:

復(fù)制代碼
import web

urls = (
    '/', 'index'
)

class index:
    def GET(self):
        return "Hello, world!"

if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()
復(fù)制代碼

  在webpy中,,url請(qǐng)求的映射在urls元組中,,如上圖中GET ip:port/,會(huì)直接調(diào)用index類的GET方法,,返回字符串'hello, world!',;

  class index中包含了一個(gè)GET方法,用來處理與index相應(yīng)的url的GET請(qǐng)求的,;

  在主函數(shù)中,,只需要?jiǎng)?chuàng)建一個(gè)application對(duì)象,運(yùn)行就可以開啟一個(gè)簡(jiǎn)單的web應(yīng)用,默認(rèn)的地址為:127.0.0.1:8080

GET && POST

  web包含兩種方法:GET和POST

      對(duì)于GET,,可以采用:

class index:
    def GET(self):
        return "Hello, world!"

  而,,對(duì)于POST,采用:

class index:
    def POST(self):
        data = web.input(name=None)
        return "Hello, " + data.name + "!"

html模板

  在webpy中,,一般采用templates來存放html頁面文件,。大概的訪問方式如下:

復(fù)制代碼
urls = (
    '/img', 'image'
)

render = web.template.render('templates')

class image:
    def GET(self):
        return render.image()
復(fù)制代碼

  urls中定義了url映射,訪問ip:port/img會(huì)直接條用class image來處理,;

  web.template.render(path)是用來指定存放html的目錄,,上面指定了html的指定存放位置位于當(dāng)前文件夾下的templates文件下;

  返回的render.image()表示在render所指定的目錄下尋找image.html文件并作為返回結(jié)果,。

復(fù)制代碼
class show:
    def GET(self):
        return render.show('hello world!')
復(fù)制代碼
$def with(str)
<html>
    <body>
         $for i in range(5):
            <h1>$str</h1>
    <body>
</html> 
復(fù)制代碼
復(fù)制代碼

  show類是用來展示字符串'hello world!',,下面的html為show.html,webpy支持模板,,支持參數(shù)以$def with()開始作為函數(shù)的開始,;

      在html中可以使用python語句,,但語句前需要添加$,,在上面的html中str會(huì)在頁面上打印5次。

靜態(tài)文件

  在webpy中,,提供了默認(rèn)的靜態(tài)文件的訪問方式

  •   webpy作為服務(wù)器時(shí),,在當(dāng)前目錄下建立static目錄,webpy會(huì)自動(dòng)在該目錄下尋找靜態(tài)文件
  •       在 Apache 中可以使用 Alias 指令,,在處理 web.py 之前將請(qǐng)求映射到指定的目錄,。

webpy db

  在webpy中提供了數(shù)據(jù)庫訪問的API,其實(shí)從源碼中可以看出來是對(duì)MySQLdb的封裝,,但為了方便起見用起來還是可以的,。

復(fù)制代碼
db = web.database(dbn='mysql', db='test', user='root', pw='123123')

def new_post(title, content):
    db.insert('news', title=title, content=content, posted_on=datetime.datetime.utcnow())

def get_post(id):
    try:
        return db.select('news', where='id=$id', vars=locals())[0]
    except IndexError:
        return None

def get_posts():
    return db.select('news', order = 'id DESC')

def del_post(id):
    db.delete('news', where = 'id = $id', vars = locals())

def update_post(id, title, content):
    db.update('news', where='id = $id', vars=locals(), title=title, content=content)
復(fù)制代碼

  webpy也支持事務(wù):

復(fù)制代碼
import web

db = web.database(dbn="postgres", db="webpy", user="foo", pw="")
t = db.transaction()
try:
    db.insert('person', name='foo')
    db.insert('person', name='bar')
except:
    t.rollback()
    raise
else:
    t.commit()
復(fù)制代碼
知識(shí)共享許可協(xié)議
本作品采用知識(shí)共享署名-非商業(yè)性使用-相同方式共享 3.0 未本地化版本許可協(xié)議進(jìn)行許可。歡迎轉(zhuǎn)載,,請(qǐng)注明出處:
轉(zhuǎn)載自:cococo點(diǎn)點(diǎn) http://www.cnblogs.com/coder2012

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多