溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

5個(gè)實(shí)用的python網(wǎng)站開發(fā)框架介紹

發(fā)布時(shí)間:2021-09-14 10:32:55 來源:億速云 閱讀:168 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“5個(gè)實(shí)用的python網(wǎng)站開發(fā)框架介紹”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“5個(gè)實(shí)用的python網(wǎng)站開發(fā)框架介紹”吧!

Django

排位第一的當(dāng)然是Django。事實(shí)上,正是由于Django的存在,成百上千的網(wǎng)站項(xiàng)目才能成功,python才能成為網(wǎng)站開發(fā)中最常用的語言。包括 Instagram, Mozilla Firefox, National Geographic, Pinterest, NASA等在內(nèi)的大型機(jī)構(gòu)、公司,都在使用Django作為網(wǎng)站開發(fā)框架。

這也就是為什么對(duì)于大多數(shù)網(wǎng)站開發(fā)者來說,如果使用python作為開發(fā)語言,那么Django就是唯一一個(gè)最常被提及的框架。尤其是因?yàn)橄旅娴囊恍┨匦院蛢?yōu)點(diǎn),Django CMS總是作為網(wǎng)站開發(fā)中最基礎(chǔ)、最常用的管理系統(tǒng):

1、有好多拿來就能直接使用的模板

2、操作數(shù)據(jù)庫

3、面向?qū)ο蟮木幊谭椒?/p>

4、網(wǎng)絡(luò)地址映射

5、內(nèi)置網(wǎng)站服務(wù)器

6、可以使用HTML表單獲取數(shù)據(jù),并傳遞給服務(wù)器(在Django中實(shí)現(xiàn)這一功能實(shí)在是太簡單了,以至于菜鳥也能輕松使用)

7、安全可靠的用戶權(quán)限

8、直觀的管理界面

9、強(qiáng)大的XML/JSON處理功能

由于上面提到的這些方面,Django能夠勝任各種大型網(wǎng)站項(xiàng)目。你對(duì)這個(gè)框架心動(dòng)了嗎?如果沒有,那我們看下一個(gè)。

CherryPy

CherryPy是僅次于Django的網(wǎng)站開發(fā)框架,它最大的特性就是能夠同時(shí)運(yùn)行好幾個(gè)web服務(wù)。Django和CherryPy最大的區(qū)別在于,后者沒有像前者那樣多的模板,而是提供可以導(dǎo)入的庫文件。事實(shí)上,這種方式給開發(fā)者以很大的自由度和擴(kuò)展性,程序員可以自由的選擇使用或者禁用各種模板、用戶權(quán)限和數(shù)據(jù)庫。

除此之外,CherryPy事實(shí)上是一個(gè)基于Python的簡約而不簡單的HTTP框架,允許和所有類型的服務(wù)器(如Apache等)進(jìn)行交互。如果你是剛剛接觸網(wǎng)站開發(fā),一定要記住在項(xiàng)目中最好形成一套自己用著順手的工具集合(我們應(yīng)該清楚地知道,CherryPy具有靈活強(qiáng)大的插件系統(tǒng))。

TurboGears

TurboGears是一種MVC架構(gòu)的網(wǎng)站開發(fā)框架,它基于一些WSGI組件(比如SQLAlchemy, Ming, Repoze等)、模板引擎( Genshi, Kajiki, Cheetah, Myghty)和大量的庫文件以及中間件(middleware)。同時(shí)它具有 widgets控件,可以非常方便的生成一些特定的功能。

TurboGears的主要特色是:用FormEncode進(jìn)行表單驗(yàn)證;使用 Gearbox作為項(xiàng)目管理工具,并提供網(wǎng)絡(luò)服務(wù)(新的版本也支持使用Apache或者Nginx作為服務(wù)器);許多實(shí)用的命令行工具;支持MochiKit模塊,一種處理文本內(nèi)容的genshi模板引擎,同時(shí)包含創(chuàng)建UI和Tosca Widgets的庫文件。這些常用功能給程序員帶來的方便,是其他框架所不能替代的。還有一點(diǎn)——許多使用TurboGears的程序員都會(huì)推薦它的精簡模式,也就是說,TurboGears可以配置成最輕量級(jí)的框架。

Flask

Flask是一個(gè)相當(dāng)新的框架,他的開發(fā)者在深入徹底的研究了現(xiàn)有的各種框架后,分析了它們利弊,在此基礎(chǔ)上開發(fā)出了這一個(gè)取所有精華,去所有糟粕的web框架。

Flask是一個(gè)輕量級(jí)框架,簡單易學(xué),它在一些僅有一兩個(gè)功能的小型項(xiàng)目上得到了大量應(yīng)用。比如httpbin這樣的項(xiàng)目,簡單但非常強(qiáng)大。跟CherryPy差不多,支持所有的DBMS和模板引擎。Flask的優(yōu)勢在于擁有眾多的擴(kuò)展工具來創(chuàng)建基于網(wǎng)站的應(yīng)用(應(yīng)當(dāng)鼓勵(lì)初學(xué)者多使用這些工具),它的代碼同樣簡潔明了(只要3行代碼就能搭建一個(gè)顯示“Hello World”的主頁),通過藍(lán)圖(blueprint)實(shí)現(xiàn)模塊化管理,支持Django官方模板語言Jinja2,能夠創(chuàng)建基于API的方案和一次性工具(用其他框架實(shí)現(xiàn)這些功能的話,既費(fèi)時(shí)又費(fèi)力)。

Pyramid

我們提到的最后一個(gè)框架是Pyramid,它由Pylons項(xiàng)目中的一部分演變而來。Pyramid最大的特點(diǎn)就是靈活性和可擴(kuò)展性(尤其和Django相比)。在使用Pyramid時(shí),程序員可以自由的選擇使用什么樣的數(shù)據(jù)庫、URL結(jié)構(gòu)、模板風(fēng)格等等,正如這個(gè)框架的開發(fā)者所說:

“那些重量級(jí)的框架都在替用戶做決定。但是如果這些不適合你,你也無可奈何;輕量級(jí)的框架不替你做決定,你可以很快的上手。但是隨著你的網(wǎng)站越做越大,你就會(huì)發(fā)現(xiàn)小框架限制了你的大項(xiàng)目。上面這兩種情況,都是只關(guān)注項(xiàng)目的開始階段:不是太大就是太小,換句話說,在項(xiàng)目剛開始的時(shí)候,你并不能真正的預(yù)測到項(xiàng)目后期會(huì)有多大、功能會(huì)有多復(fù)雜。你需要一個(gè)注重網(wǎng)站后期開發(fā)的框架,這樣不管你的項(xiàng)目后期是大是小,它都能很好地滿足你的需求。Pyramid就是這樣一個(gè)框架,可大可小,剛剛好。”

使用Pyramid,可以不費(fèi)勁的利用SQLAI創(chuàng)建傳統(tǒng)的RDBMS應(yīng)用。和Flask一樣,Pyramid支持多種類型的模板語言和引擎,包括Jinja2和Mako,而且它自己也內(nèi)置有解決方案。甚至,它還兼容Chameleon——一個(gè)便捷的、通用的ZPT模板工具。

Pyramid被大家廣泛認(rèn)可的優(yōu)點(diǎn)包括:可以將一個(gè)完整的網(wǎng)站生成一個(gè)單一的文件;可以修改的模板;可配置的資源;靈活的身份驗(yàn)證和授權(quán);高級(jí)的引導(dǎo)工具——pcreate;基于view的方法;支持命令型和陳述型的配置語法;HTTP緩存;內(nèi)建Session會(huì)話等等。一般而言,Pyramid是目前最流行的構(gòu)建大中小型應(yīng)用的框架。另一方面,正是由于這么強(qiáng)大的靈活性,可能會(huì)讓一些有選擇困難癥的初學(xué)者糾結(jié)于使用哪些功能,如果選擇不好,可能會(huì)掉進(jìn)一個(gè)又一個(gè)的坑里去。

感謝各位的閱讀,以上就是“5個(gè)實(shí)用的python網(wǎng)站開發(fā)框架介紹”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)5個(gè)實(shí)用的python網(wǎng)站開發(fā)框架介紹這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI