|
Python是一門簡單易學(xué)的編程語言,代碼簡潔優(yōu)美,最近,隨著人工智能技術(shù)興起,python也跟著火起來了。 Python主流的應(yīng)用包括:Web開發(fā)、圖形界面開發(fā)、系統(tǒng)網(wǎng)絡(luò)運維、網(wǎng)絡(luò)編程、科學(xué)數(shù)字計算、3D游戲開發(fā),而目前用的最多的就是Web開發(fā)和數(shù)據(jù)科學(xué)計算。 大家所熟知的Anaconda,就主要集成了這兩方面的包,供用戶使用,十分方便。 題主想要用python搭建網(wǎng)站,就必須學(xué)會相應(yīng)的Web開發(fā)框架,現(xiàn)在比較熱門的web框架是Flask和Django,隨之而來的就是HTML、JavaScript、CSS以及數(shù)據(jù)庫的技術(shù),結(jié)合起來,才能開發(fā)出一個網(wǎng)站。 我用Flask開發(fā)過一個數(shù)據(jù)分析平臺,那就從Flask開始介紹。 這是我收藏的Flask教程和學(xué)習(xí)資源。有需要的可以私我。 1. FlaskFlask 很輕,本身就是用Python語言編寫的,兼容性很高,它采用Werkzeug Jinja2模板,再加上一系列的extension功能 ,花很少的成本就能夠開發(fā)一個簡單的網(wǎng)站,非常適合初學(xué)者學(xué)習(xí)。 如上,就是一個簡單的“hello word”頁面的實現(xiàn)。 如果你是一個小團隊,開發(fā)網(wǎng)站的復(fù)雜性不高,便推薦采用Flask開發(fā),如果網(wǎng)站功能很復(fù)雜,則推薦下面這個商業(yè)上應(yīng)用很廣的框架,Django 2. DjangoDjango是一個全能型框架,也是Python Web開發(fā)使用最多的框架,最有學(xué)習(xí)的價值,如果初學(xué)者接觸,一定要沉得住氣,才能真正學(xué)好。 Django基于MVC構(gòu)造,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關(guān)注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。 如果你使用的IED是pycharm,那么可以直接右鍵新建Django項目 如上圖,你還看到了flask、pyramid、Web2py等類型的項目,其中,Django排在最前面,我覺得也說明了它的重要性和常用性。 最為新手,你可以看一下菜鳥的Django教程:http://www.runoob.com/django/django-tutorial.html 然后再看官方文檔,結(jié)合一些視頻課程一起學(xué)習(xí),學(xué)習(xí)資源還是挺豐富的。 當(dāng)然,除了上面兩個常用的python Web框架之外,還有如下幾種也可以了解一下 3. TornadoTornado是一個性能很高的框架。Tornado 是一個很好的框架,支持異步處理的功能,這是它的特點,其他框架不支持。 所以,它是非阻塞式服務(wù)器,而且速度相當(dāng)快。下面就是一個經(jīng)典的hello word 示例。
另外一點是,Tornado 的設(shè)計似乎更注重 RESTful URL。但 Tornado 提供了網(wǎng)站基本需要使用的模塊外,剩下的則需要開發(fā)者自己進行擴展,所以,用tornado的一個很明顯的好處是,有些輪子自己造才能學(xué)到東西。 知乎就是基礎(chǔ) Tornado 開發(fā)的。 另一個好處是因為是facebook開源的,加上自身優(yōu)秀的代碼質(zhì)量和傲嬌的效率表現(xiàn),目前非?;?,誕生了一大批的優(yōu)秀產(chǎn)品,除了知乎外, quora,INK361 ,42區(qū) . 遇見也是Tornado開發(fā)的。 Tornado的官方文檔非常棒,可以去看看:http://www./en/stable/ 4. Bottle
Bottle 和 Flask 都屬于輕量級,是一個非常精致的WSGI框架。Bottle適用于小型的Web開發(fā),在應(yīng)用程序規(guī)模比較小的情況下可以實現(xiàn)快速開發(fā)。但是由于自身功能所限,對于大型的Web程序,Bottle的功能略顯不足。
上面是一個簡單的示例。 5. web2py
web2py是我學(xué)習(xí)Python的時候,接觸的第一個web框架,當(dāng)時覺得很神奇,它直接提供了一個管理頁面,供administrator操作,創(chuàng)建賬戶和密碼都不是難事,簡單,小巧,靈活。 但或許你也已經(jīng)聽說過了,這個框架是基于Python2.7開發(fā)的,但維護和更新沒有跟上,不然那還有flask什么事啊! web2py是Google 在 web.py 的基礎(chǔ)上二次開發(fā)而來的,兼容 GAE(Google App Engine),性能很高。 6. Quixote著名的 豆瓣 就是基于 Quixote 開發(fā)的,跟上面幾個框架不同,Quixote 的路由會有些特別。另外 Quixote 的性能據(jù)說也好 另外,有一個Python的資源推薦給你:https://github.com/tingtinglu/awesome-python-cn
其他的就不了解了。祝君好運! |
|
|