日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python web开发项目 源码_真零基础Python开发web

發布時間:2025/3/15 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python web开发项目 源码_真零基础Python开发web 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python開發web服務的優勢是開發效率高,可能只需要java五分之一的代碼量。
Python搭建web服務有許多框架,本文介紹Django和bottle兩個框架。

Django

安裝

首先,安裝該框架


安裝成功,版本是1.11.28. 框架的文件安裝在python27Scripts目錄下(搜索電腦中Python安裝目錄下的Scripts就對了)。

建立項目

先進入python27Scripts目錄,建立項目jinanwx(名稱隨便起)

同一個目錄下可以看到新建立工程的目錄

開發自己模塊

進入python27Scriptsjinanwxjinanwx。新建我們自己的模塊

jgotest01.py里面寫簡單的代碼如下

模塊功能就是返回個json格式結果。

修改urls模塊

然后需要改urls.py模塊

目錄文件如下

就這么簡單,新建一個文件再修改一個文件,就成了。

啟動服務

回到上一級目錄啟動服務

啟動成功,瀏覽器訪問試試

bottle

開發功能不是特別復雜的web服務,可以考慮使用bottle框架,它比Django輕量。bottle例子在Linux下演示。

安裝

使用bottle框架首先安裝。一個指令搞定。

#?pip?install?bottle??

進入Python命令行import bottle,沒報錯就是成功了。

代碼

我的web服務就一個文件bottleweb.py,代碼如下,一些解釋在代碼的注釋里

#coding=utf-8??from?bottle?import?(run,?route,?get,?post,?put,?delete,?request,?hook,?response,?static_file,?app)??import?json??import?MySQLdb?#本例子需要操作數據庫,否則可以不寫這行,這個數據庫包pip估計安裝不會成功,我是用yum?install?MySQL-python成功的??import?sys??reload(sys)????sys.setdefaultencoding('utf8')??import?bottle??app?=?bottle.default_app()#處理靜態資源需要定義,沒有靜態資源可以不寫這行??#搭建vue腳手架前后臺聯調時要下面兩個@hook內容,否則會報跨域訪問資源的錯誤??@hook('before_request')??def?validate():??????REQUEST_METHOD?=?request.environ.get('REQUEST_METHOD')??????HTTP_ACCESS_CONTROL_REQUEST_METHOD?=?request.environ.get('HTTP_ACCESS_CONTROL_REQUEST_METHOD')??????if?REQUEST_METHOD?==?'OPTIONS'?and?HTTP_ACCESS_CONTROL_REQUEST_METHOD:??????????request.environ['REQUEST_METHOD']?=?HTTP_ACCESS_CONTROL_REQUEST_METHOD??@hook('after_request')??def?enable_cors():??????response.headers['Access-Control-Allow-Origin']?=?'*'??????response.headers['Access-Control-Allow-Methods']?=?'GET,POST,PUT,DELETE,OPTIONS'??????response.headers['Access-Control-Allow-Headers']?=?'*'??@route('/test2020/dist/')#靜態資源在web服務下的地址,沒放前端的靜態資源這幾個route和app.route可以不寫??def?stat(path):??????return?static_file(path,?root='./dist/')??@app.route('/test2020/dist/static/js/')????def?js(path):??#這幾個目錄我寫成這樣是因為vue打包完后目錄結構就是dist?里面static等等??????return?static_file(path,?root='./dist/static/js/')??@app.route('/test2020/dist/static/css/')???def?css(path):???????return?static_file(path,?root='./dist/static/css/')??????@get('/test2020/date')#返回某個表中的日期,看sql你就明白了??def?helloins():??????db?=?MySQLdb.connect("127.0.0.1",?"yourusername",?"yourpassword",?"yourDBname",?charset='utf8'?)??????cursor?=?db.cursor()??????sql?=?"select?DISTINCT?date?from?testtable"??????print?sql??????cursor.execute(sql)??????data?=?cursor.fetchall()??????jsondata={}??????results=[]??????for?row?in?data:??????????result?=?{}??????????result['DATE']?=?row[0]??????????results.append(result)??????jsondata['code']=0??????jsondata['datas']=results??????return?jsondata??#返回json格式為了方便前端vue接收處理,其實返回各種類型都可以??????@get('/test2020/helloworld')??def?helloworld():??????return?'hello?world!'??????if?__name__?==?'__main__':??????run(host='0.0.0.0',?port=2020,?debug=True,?reloader=True)??

bottleweb.py所在目錄執行

#python?bottleweb.py

web服務就啟動了。瀏覽器訪問http://127.0.0.1:2020/test2020/helloworld看效果。

如果安裝了MySQL數據庫可以測試test2020/date的url是否能返回結果

數據庫只要有下面的數據就可以

前端頁面是這個樣子的,給用戶選擇某個日期。


前端是用vue+vux來開發的,開發完打包打出的東西上傳到代碼中提到的dist靜態資源目錄下。
如果覺得上面的代碼有點復雜,可以把所有route, app.route的東西刪除,把/test2020/date語句塊也刪除,把@hook刪除,MySQL的東西刪除,前端的東西也完全不考慮,就是最簡單的bottle web服務,相當于hello world。
建議盡量懂上面的代碼,涉及了靜態資源,數據庫,是web服務必須的內容。

pip升級的坑

分享一個遇到的pip的問題,我Python版本很低2.6.6。本來通過安裝yum的epel,已經成功安裝了好用的pip。但是每次我用pip命令,最下方都會提示升級

You?are?using?pip?version?9.0.3,?however?version?20.0.2?is?available.You?should?consider?upgrading?via?the?'pip?install?--upgrade?pip'?command

我執行了pip install --upgrade pip升級,然后pip指令就不能用了。而且升級了之后,在想安裝回低版本的pip就沒有對應的安裝包了。yum只能找到20.0.2版本的(老版本會被覆蓋難道?)。

http://bootstrap.pypa.io/2.6/get-pip.py??

下載了get-pip.py也無法安裝成功。最后在上面的地址下載到了2.6版本的安裝文件,才成功安裝可以使用的pip。

總結

相比java,python開發web代碼量少,需要安裝的庫少,如果能滿足功能和性能要求,python可能是更好的選擇。

總結

以上是生活随笔為你收集整理的python web开发项目 源码_真零基础Python开发web的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。