本人之前學(xué)習(xí)過一段時間Python,但是吧學(xué)得慢忘得快砾隅,所以長時間沒有積累下什么成就,因此決定反思一下债蜜,將所學(xué)所用到的東西都記錄下來晴埂,有一天一定會用到的,不管是誰寻定。
更多關(guān)注:http://www.mknight.cn/
主流框架對比
- Django: Python Web應(yīng)用開發(fā)框架
Django 應(yīng)該是最出名的Python框架儒洛,GAE甚至Erlang都有框架受它影響。Django是走大而全的方向狼速,它最出名的是其全自動化的管理后臺:只需要使用起ORM琅锻,做簡單的對象定義,它就能自動生成數(shù)據(jù)庫結(jié)構(gòu)向胡、以及全功能的管理后臺恼蓬。 - Flask:一個用Python編寫的輕量級Web應(yīng)用框架
Flask是一個使用Python編寫的輕量級Web應(yīng)用框架〗┣郏基于Werkzeug WSGI工具箱和Jinja2
模板引擎处硬。Flask也被稱為“microframework”,因為它使用簡單的核心拇派,用extension增加其他功能荷辕。Flask沒有默認(rèn)使用的數(shù)
據(jù)庫、窗體驗證工具件豌。 - Web2py:全棧式Web框架
Web2py是一個為Python語言提供的全功能Web應(yīng)用框架疮方,旨在敏捷快速的開發(fā)Web應(yīng)用,具有快速茧彤、安全以及可移植的數(shù)據(jù)庫驅(qū)動的應(yīng)用骡显,兼容Google App Engine。 - Tornado:異步非阻塞IO的Python Web框架
Tornado的全稱是Torado Web Server,從名字上看就可知道它可以用作Web服務(wù)器蟆盐,但同時它也是一個Python Web的開發(fā)框架承边。最初是在FriendFeed公司的網(wǎng)站上使用,F(xiàn)aceBook收購了之后便開源了出來石挂。
綜上所述:
- 哪個框架最好——世上沒有最好的框架博助,只有最適合你自己、最適合你的團(tuán)隊的框架痹愚。編程語言選擇也是一個道理富岳,你的團(tuán)隊Python最熟就用Python好了,如果最熟悉的是Ruby那就用Ruby好了拯腮,編程語言窖式、框架都只是工具,能多动壤、快萝喘、好、省的干完活就是好東西琼懊。
- 過分關(guān)注性能——其實大部分人是沒必要太關(guān)心框架的性能的阁簸,因為你開發(fā)的網(wǎng)站根本就是個小站,能上1萬的IP的網(wǎng)站已經(jīng)不多了哼丈,上10萬的更是很少很少启妹。在沒有一定的訪問量前談性能其實是沒有多大意義的,因為你的CPU和內(nèi)存一直就閑著呢醉旦。而且語言和框架一般也不會是性能瓶頸饶米,性能問題最常出現(xiàn)在數(shù)據(jù)庫訪問和文件讀寫上。 PHP的Zend Framework是出了名的慢车胡,但是Zend Framework一樣有大站檬输,如:digg.com;常被人說有性能問題的Ruby和Rails匈棘,不是照樣可以開發(fā)出twitter嗎褪猛?再者現(xiàn)在的硬 件、帶寬成本其實是很低的羹饰,特別有了云計算平臺后伊滋,人力成本才是最貴的,沒有上萬的IP根本就不用太在意性能問題队秩,流量上去了花點錢買點服務(wù)器空間好了笑旺, 簡單快速的解決性能問題。
- 對于新手來說比較省事馍资,簡單易上手筒主,強烈推薦Django!
Django 特點
強大的數(shù)據(jù)庫功能
用python的類繼承,幾行代碼就可以擁有一個豐富乌妙,動態(tài)的數(shù)據(jù)庫操作接口(API)使兔,如果需要你也能執(zhí)行SQL語句
自帶的強大的后臺功能
幾行簡單的代碼就讓你的網(wǎng)站擁有一個強大的后臺,輕松管理你的內(nèi)容藤韵!
優(yōu)雅的網(wǎng)址
用正則匹配網(wǎng)址虐沥,傳遞到對應(yīng)函數(shù),隨意定義泽艘,如你所想欲险!
模板系統(tǒng)
強大,易擴(kuò)展的模板系統(tǒng)匹涮,設(shè)計簡易天试,代碼,樣式分開設(shè)計然低,更容易管理喜每。
緩存系統(tǒng)
與memcached或其它的緩存系統(tǒng)聯(lián)用,更出色的表現(xiàn)雳攘,更快的加載速度灼卢。
國際化
完全支持多語言應(yīng)用,允許你定義翻譯的字符来农,輕松翻譯成不同國家的語言。
Django 相關(guān)學(xué)習(xí)資料
官網(wǎng) https://www.djangoproject.com/start/
文檔 https://docs.djangoproject.com/en/1.11/
安裝
Python 環(huán)境配置
安裝方法就不用說了崇堰,這是最新版地址 Python 3.6 點擊下載 沃于。不過有幾點版本兼容的情況要說明一下。
-
推薦還是選擇3.5版本的海诲,因為BeautifulSoup 對3.6版本的Python支持的不好繁莹。有些人反應(yīng)可以正常使用,但是比如像我這樣的人就會出現(xiàn)導(dǎo)入報錯特幔,比如如下情況:
所以咨演,如果以后考慮玩爬蟲的話,就暫時不要考慮這個版本了蚯斯,切記切記1》纭!拍嵌!
- Python 3.4 對于django-haystack 支持不是太好遭赂,也會出現(xiàn)找不到models的情況,請注意横辆。
Django 安裝
pip 安裝撇他,最為推薦
pip install Django
pip list 檢查
git安裝
$ git clone git://github.com/django/django.git
下載完成后進(jìn)入django目錄進(jìn)行安裝
cd Django-1.x.y
python setup.py install
軟件包安裝
下載地址 Django最新版 解壓進(jìn)行安裝
cd Django-1.x.y
python setup.py install
建立第一個project
完成之前的準(zhǔn)備環(huán)境,來到這里,我們想象一下自己要做的是什么困肩,是一個網(wǎng)上商城划纽?還是一個博客?還是一個日記本锌畸?這些都不重要勇劣,也都很重要,因為這將決定你對網(wǎng)站的定位蹋绽,對網(wǎng)站的設(shè)計芭毙,對程序結(jié)構(gòu)的設(shè)計。既然我們只是用來練手的卸耘,那就用一個APP獨享一個project吧退敦!
推薦使用開發(fā)工具 Pycharm
創(chuàng)建項目
工具創(chuàng)建
其中存放目錄名稱也是項目名稱,當(dāng)前項目名稱為ZOO蚣抗,APP名稱bee侈百,Python版本 3.6
命令行創(chuàng)建:
#創(chuàng)建項目
django-admin.py startproject project_name
#創(chuàng)建APP
python manage.py startapp app_name
創(chuàng)建完成后的目錄結(jié)構(gòu)如下:
啟動項目
更多關(guān)注:http://www.mknight.cn/
--end