我的第一個(gè)python web開發(fā)框架(6)——第一個(gè)Hello World

      網(wǎng)友投稿 808 2025-03-31

      小白中午聽完老菜講的那些話后一直在思考,可想來想去還是一頭霧水,暈暈呼呼的一知半解,到最后還是想不明白,心想:老大講的太高深了,只能聽懂一半半,看來只能先記下來,將明白的先做,不明白的等以后遇到再學(xué)。

      到晚上下班后回到家里,打開電腦開始寫起代碼來......(傳送門:?Python開發(fā)環(huán)境搭建?)

      要寫一個(gè)web服務(wù),首先要做的就是實(shí)現(xiàn)程序的入口,所以先來個(gè)Hello World吧

      1.創(chuàng)建項(xiàng)目

      先在電腦創(chuàng)建這個(gè)目錄 E:\Python\simple\code (一定要全英文,因?yàn)镮DE有可能不支持中文路徑),然后運(yùn)行IDE軟件:PyCharm

      點(diǎn)擊菜單File,然后點(diǎn)擊Open,彈出Open File or Porject窗口,在窗口中選擇剛才創(chuàng)建的目錄后,點(diǎn)擊OK

      然后項(xiàng)目列表中就多出了一個(gè)項(xiàng)目

      2.創(chuàng)建主入口文件

      對(duì)項(xiàng)目code點(diǎn)右鍵 -> New -> Python File,在彈出窗口New Python file中,輸入文件名稱:main,點(diǎn)擊ok

      然后在打開的main.py文件中粘貼下面代碼

      bottle??default_app,?get,?run??beaker.middleware??SessionMiddleware???session_opts?=?{?????:?,?????:?3600,?????:?,?????:?True?}??@get()??callback():???????????==?:?????app_argv?=?SessionMiddleware(default_app(),?session_opts)?????run(app=app_argv,?host=,?port=9090,?debug=True,?reloader=True)

      這時(shí)會(huì)發(fā)現(xiàn),IDE中bottle與beaker會(huì)出現(xiàn)紅色警告線,這是因?yàn)槟愕拈_發(fā)環(huán)境還沒有安裝這兩個(gè)模塊

      點(diǎn)擊右鍵運(yùn)行Debug 'main'后,下方的Debug窗口會(huì)出現(xiàn)ImportError: No module named 'bottle'這樣的提示,提示導(dǎo)入bottle包出錯(cuò)

      所以我們需要先安裝這兩個(gè)包,點(diǎn)擊下方的Terminal,輸入pip install bottle?回車后開始安裝bottle包

      等安裝完成后,同樣的輸入pip install beaker?安裝beaker包

      完成后,在main.py文件窗口中的空白處點(diǎn)右鍵,點(diǎn)擊Debug 'main',運(yùn)行Debug

      會(huì)發(fā)現(xiàn)web服務(wù)已經(jīng)啟動(dòng)了,端口號(hào)是9090

      我們打開瀏覽器,在地址欄處輸入http://127.0.0.1:9090/index/ 回車后就可以看到Hello World了

      3.程序代碼說明

      #!/usr/bin/evn python

      這是標(biāo)識(shí)當(dāng)前腳本指定用python來執(zhí)行它,為了防止用戶沒有將python裝在默認(rèn)的/usr/bin路徑里,系統(tǒng)執(zhí)行時(shí)首先會(huì)到env設(shè)置里查找python的安裝路徑,再調(diào)用對(duì)應(yīng)路徑下的python程序來執(zhí)行。

      # coding=utf-8

      這一行說明當(dāng)前文件用的是utf-8編碼

      from bottle import default_app, get, run

      from beaker.middleware import SessionMiddleware

      第4與第5行用于導(dǎo)入bottle包和beaker包的指定模塊

      由于bottle框架自身并沒有提供Session的支持,所以使用beaker中間件來實(shí)現(xiàn)。

      # 設(shè)置session參數(shù)

      session_opts = {

      'session.type': 'file',

      'session.cookie_expires': 3600,

      'session.data_dir': '/tmp/sessions/simple',

      'session.auto': True

      我的第一個(gè)python web開發(fā)框架(6)——第一個(gè)Hello World

      }

      第7到第13行,是創(chuàng)建一個(gè)session配置的字典,用來存儲(chǔ)session的存儲(chǔ)類型為文件類型,session過期時(shí)間為3600秒,session文件存放路徑為/tmp/sessions/simple?(存放在linux系統(tǒng)tmp目錄下的文件,系統(tǒng)定期會(huì)自動(dòng)清理)

      @get('/index/')

      def callback():

      return 'Hello World!'

      第15到17行,我們定義了一個(gè)/index/的路由,用于瀏覽器訪問時(shí),可以通過這個(gè)路同來定位到這里(也就是前面瀏覽器輸入url地址,這里我們可以隨意定義為任何路由都可以),訪問路由的方式我們定義為get方式,當(dāng)然還可以定義為post、put、delete等訪問路由的方式。

      if __name__ == '__main__':

      app_argv = SessionMiddleware(default_app(), session_opts)

      run(app=app_argv, host='0.0.0.0', port=9090, debug=True, reloader=True)

      第20行,它標(biāo)識(shí)當(dāng)前位置為程序的主入口,運(yùn)行程序時(shí),由這里開始

      第21行,初始化session參數(shù)

      第22行,啟動(dòng)WSGI WEB程序,地址為本機(jī)地址,訪問端口為9090,開始debug,最后有個(gè)參數(shù)reloader設(shè)定項(xiàng)目代碼有修改時(shí),自動(dòng)重新啟動(dòng)web服務(wù),重新載入修改后的代碼

      PS:我們使用的Bottle框架,它是一個(gè)快速的,簡(jiǎn)單的,非常輕量級(jí)的 Python WSGI Web 框架。它只有一文件,只依賴于 Python 標(biāo)準(zhǔn)庫(kù) 。懂英文的可以直接訪問:http://www.bottlepy.org/docs/dev/tutorial.html?查看bottle開發(fā)文檔,也可以點(diǎn)擊:下載bottle中文文檔

      本文討論開發(fā)QQ群:669058475(本群已滿)、733466321(可以加2群)

      HTTP Python web前端

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Unity 之 LineReaderer組件
      下一篇:excel相乘怎么操作?(excel中怎樣相乘)
      相關(guān)文章
      av在线亚洲欧洲日产一区二区| 日本亚洲高清乱码中文在线观看| 国产亚洲视频在线播放大全| 亚洲一区AV无码少妇电影| 亚洲无人区视频大全| 亚洲欧洲中文日产| 亚洲激情校园春色| 亚洲无圣光一区二区| 亚洲18在线天美| 亚洲精品123区在线观看| 精品亚洲456在线播放| 亚洲精品无码aⅴ中文字幕蜜桃| 亚洲一区二区三区高清在线观看| 亚洲精品无码不卡在线播放| 亚洲欧美日本韩国| 日本亚洲高清乱码中文在线观看| 偷自拍亚洲视频在线观看99| 亚洲国产精品无码久久青草 | 亚洲已满18点击进入在线观看| 亚洲国产精品综合久久20| 久久亚洲国产最新网站| 亚洲精品无码人妻无码| 最新亚洲人成无码网www电影| 亚洲A∨精品一区二区三区下载| 国产精品亚洲专区无码WEB| 免费亚洲视频在线观看| 亚洲中文字幕无码久久2017| 亚洲AV无码乱码国产麻豆穿越| 久久久久亚洲AV成人片| 亚洲人成在线播放| 亚洲精品女同中文字幕| 亚洲国产精品日韩专区AV| 国产亚洲一区二区在线观看| 老汉色老汉首页a亚洲| 亚洲人成777在线播放| 亚洲日本VA中文字幕久久道具| 亚洲 无码 在线 专区| 亚洲精品成人网站在线观看 | 国产亚洲综合精品一区二区三区| 亚洲精品国产电影| 亚洲第一精品在线视频|