Python之web开发(一):python常用搭建网站的框架简介
談及WEB開(kāi)發(fā),使用java來(lái)的確要比python多的多。但實(shí)際上還是有很多大型的網(wǎng)站都是使用python搭建起來(lái)的,如國(guó)外最大的視頻分析網(wǎng)站YouTube、國(guó)內(nèi)的豆瓣、搜狐以及知乎等都是使用python開(kāi)發(fā)的。使用python常用搭建網(wǎng)站的框架有Django、tornado、web.py、web2py、CherryPy、Flask、Bottle、Quixote等。用的比較多的有Django、tornado、Flask。下面主要來(lái)介紹一下tornado和django。
一、Django
Django是一個(gè)開(kāi)發(fā)源代碼的web應(yīng)用框架是用python寫的。采用了MVC的框架,開(kāi)發(fā)網(wǎng)站的應(yīng)該都知道MVC,模型、視圖、控制器,這里有點(diǎn)像java的spring框架。Django的核心組件有,創(chuàng)建模型的對(duì)象關(guān)系映射,就是將數(shù)據(jù)庫(kù)中的表與類對(duì)應(yīng)起來(lái)操作數(shù)據(jù)庫(kù)的時(shí)候不用寫SQL語(yǔ)句直接操作對(duì)象來(lái)完成對(duì)表的操作,在使用Django框架的時(shí)候只要先定義好類然后再通過(guò)兩句命令就可以完成自動(dòng)的數(shù)據(jù)建表,類似于hibernate的ORM,一流的URL設(shè)計(jì)、設(shè)計(jì)者友好的模板語(yǔ)言、緩存系統(tǒng)。缺點(diǎn)就是Django不支持異步,所以它還是比較適合小型的壓力不大的項(xiàng)目,對(duì)于高并發(fā)的處理就扛不住了。學(xué)好Django找一份工作還是不成問(wèn)題的。
二、tornado
tornado也是一種開(kāi)放源代碼的服務(wù)器,tornado與Django等主流框架有這最明顯的區(qū)別就是它是非阻塞式的服務(wù)器,而且速度相當(dāng)快,tornado每秒可以處理數(shù)以千計(jì)的連接,所以tornado是實(shí)時(shí)web服務(wù)的一個(gè)理想框架,如果結(jié)合nignx一起使用可以處理的連接會(huì)更多。但是,tornado有一個(gè)壞處,第三方庫(kù)相對(duì)比較少,而且很多的東西還需要自己配置,不過(guò)tornado的靈活性還是比較強(qiáng)可以與其他的框架結(jié)合一起使用。tornado不支持ORM操作,在下一篇文章中,我會(huì)介紹如何將tornado、Django和nignx一起結(jié)合來(lái)搭建一個(gè)網(wǎng)站。下面用一張圖對(duì)比一下,我為什么要選擇tornado+nginx,使用Django的目的是為了方便操作數(shù)據(jù)庫(kù)。
三、nginx
nginx是一個(gè)高性能的HTTP和方向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器。nginx是一款輕量級(jí)的web服務(wù)器,它是用c開(kāi)發(fā)的,整個(gè)服務(wù)器只有幾M。而且占用的內(nèi)存少,并發(fā)能力強(qiáng),像百度、京東、新浪、網(wǎng)易、騰訊、淘寶都使用了nginx。
總結(jié)
以上是生活随笔為你收集整理的Python之web开发(一):python常用搭建网站的框架简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SQLSERVER常用函数汇总
- 下一篇: Python之web开发(三):pyth