1、Django: Python Web應(yīng)用開發(fā)框架Django 應(yīng)該是最出名的Python框架,GAE甚至Erlang都有框架受它影響。Django是走大而全的方向,它最出名的是其全自動化的管理后臺:只需要使用起ORM,做簡單的對象定義,它就能自動生成數(shù)據(jù)庫結(jié)構(gòu)、以及全功能的管理后臺。
2、Bottle: 微型Python Web框架Bottle是一個簡單高效的遵循WSGI的微型python Web框架。說微型,是因為它只有一個文件,除Python標(biāo)準(zhǔn)庫外,它不依賴于任何第三方模塊。
3、Flask:也是一個Web應(yīng)用框架
不同于Django它是輕量級Web應(yīng)用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask也被稱為“microframework”,因為它使用簡單的核心,用extension增加其他功能。Flask沒有默認(rèn)使用的數(shù)據(jù)庫、窗體驗證工具。 但是Flask是可以擴(kuò)增的,你可以使用可以用Flask-extension增加前邊沒有的一些功能。
4、Tornado:異步非阻塞IO的Python Web框架Tornado的全稱是Torado Web Server,從名字上看就可知道它可以用作Web服務(wù)器,但同時它也是一個Python Web的開發(fā)框架。最初是在FriendFeed公司的網(wǎng)站上使用,F(xiàn)aceBook收購了之后便開源了出來。Tornado 和現(xiàn)在的主流 Web 服務(wù)器框架和大多數(shù)Python框架有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當(dāng)快。也是比較常被使用的Python開源框架之一。Web2py:全棧式Web框架Web2py是一個為Python語言提供的全功能Web應(yīng)用框架,旨在敏捷快速的開發(fā)Web應(yīng)用,具有快速、安全以及可移植的數(shù)據(jù)庫驅(qū)動的應(yīng)用,兼容Google App Engine。
webpy: 輕量級的Python Web框架webpy的設(shè)計理念力求精簡(Keep it simple and powerful),源碼很簡短,只提供一個框架所必須的東西,不依賴大量的第三方模塊,它沒有URL路由、沒有模板也沒有數(shù)據(jù)庫的訪問。
前段和后端是共存的,python設(shè)計初衷是應(yīng)用到科學(xué)計算的,經(jīng)過多年的發(fā)展,在web應(yīng)用、科學(xué)計算、金融、人工智能等領(lǐng)域有大大量的應(yīng)用,從而讓python最熱門的語言榜首。
在web應(yīng)應(yīng)用領(lǐng)域,一般的前端指的是開發(fā)人員編寫的html,css,javascript代碼,用戶通過瀏覽器或者app訪問某個應(yīng)該網(wǎng)址所呈現(xiàn)的頁面內(nèi)容,以及操作的響應(yīng)頁面,前端面向的是最終的用戶,主要是提供展示效果和操作體驗方面的工作內(nèi)容。
而后端是為前端頁應(yīng)用提供展示的數(shù)據(jù)和計算機(jī)的接口服務(wù),后端更多是關(guān)心高并發(fā)下,用戶不排隊,不阻塞,需要考慮的比前端多,比如業(yè)務(wù)擴(kuò)容,安全,網(wǎng)絡(luò),遷移等等,所以后端比較關(guān)心的是并發(fā)和穩(wěn)定,工資會比前端高一些。
使用python可以做前端也可以做后端,為什么這么說呢?前端不都是javascript的天下么?
非也,python界也有GUI lib,比如python自帶的tkinter、pyQt、kivy。
Qt的知名度不用多說,世界500強(qiáng)的公司有100家用Qt;
kivy 是python基金會扶持的一個純python寫的GUI框架,底層是OpenGL,而且支持window,Linux,Mac,ios,android等主流平臺,kivy借鑒了Qt 的Qml使得Ui和代碼邏輯分離,寫過Qt的我告訴你:嗯,python 比C++爽,而kivy 比Qml爽;
所以以上的gui框架是可以python做前端的,而且是python純前端。
還有種主流的python web開發(fā)方式是,python做后端,在后端的代碼里渲染出前端的效果,想前端返回前端人員調(diào)好的html,css,js代碼,代表作框架就是Django和Flask。
最后一種就是前端一個工程,后端一個工程,各開發(fā)各自的,最后大家按接口約定連接,這就是傳說前后端分離,開發(fā)組合代表作有Flask+vue 或者DRF +vue, 前后端分離是趨勢。
歡迎交流[大笑][大笑][大笑]
利用Python自帶的包可以建立簡單的web服務(wù)器。在DOS里cd到準(zhǔn)備做服務(wù)器根目錄的路徑下,輸入命令:python -m Web服務(wù)器模塊 [端口號,默認(rèn)8000]例如:python -m SimpleHTTPServer 8080然后就可以在瀏覽器中輸入localhost:端口號/路徑來訪問服務(wù)器資源。