pythondjangoweb開發
⑴ 如何用python做Web開發
1.python入門
推薦老齊《從零開始學python》,《python簡明教程》,這兩本書很適合小白入門(像我一樣長期徘徊在編程門外的人)
2.python進階
推薦《python學習手冊》,python學習手冊的前半部分與在入門教程中的基礎部分相重復,後面部分對python的介紹更細致,比如面向對象的這部分對於小白理解相對容易。
還有一本《python cookbook》,這本是在講述python的經典用法,目前讀過函數,裝飾器以及網路編程這三部分,在不斷的敲玩具代碼的過程中,會發現書中講的例子不斷會出現。
3.學習web開發,自然要涉及到基於python的web 框架。
1)flask
flask如同官方所描述的那樣,是一個web微框架,用幾行代碼就可以實現一個在hello world,現在的個人感覺是flask確實適合新手入門。基於這個原則,
推薦《flask web 開發》這本書,這本書簡直是良心,講的很細,並且在github上有源碼,可以很容易跟著作者的步驟去學習,不懂得的地方可以去問谷歌或者qq群。
推薦的第二本是《building web applications with flask》這本書是對flask框架的細化,深入講解flask的模板,restful等等,雖然是英文,但是葉能順利閱讀下去
推薦的第三本是《flask Framework cookbook》,這三本書是一個不段進階的部分。
2)django
django是大而全,開箱即用,在flask了解的差不多的時候去了解,畢竟生成環境用的django相對多一點。
django學習可以看得書:(1)tango with django只有一個應用去學習,對於新手友好,可以比對github源碼
(2)django by example 注重實戰,有幾個實例,blog, shop etc,涉及django基礎,redis,celery,solr,ajax,很全面,也是web開發常用的技術
4.在學習框架的過程中,會不斷體會到前端的知識也是要補回來,可以w3c school看一下。
5.資料庫,在python中內置了sqlite, sql命令有相同之處,路線是sqlite, mysql, mongodb,有個逐漸過度的過程。
6.了解http的具體工作流程,這點目前還是有點模糊
7.工具集:sublime(需要配置,主要用於python編程,神器誰用誰知道), vim, firebug, firefox, linux,github(代碼大寶庫,各種代碼)
8.學習的過程覺得幾點很重要
1)做好筆記,同樣的問題會遇到第二次,有個筆記容易復查
2)善用谷歌,善用qq與論壇,你現在遇到的問題,大多數前人都遇到過,stackflow是個好地方
3)迷茫的時候還是堅持看,因為畢竟是小白,不懂的太多,你總要把他弄懂
4)有時間了可以把演算法與數據結構補起來
⑵ 用Django開發web後端,真的比SpringBoot要省事嗎
用Django開發web後端並不比SpringBoot要省事。
spring好處就是當你需要消息隊列,或者服務注冊發現,配置中心等等的時候配置比較方便,如果不考慮微服務,spring boot也只是比java世界裡面其他的方便而已。
而python世界想要集成上述幾個功能並且達到一定的生產級別是要比spring麻煩的多。
從性能上講,看過一些測評,spring因為替用戶做了很多類型推斷的事情,純性能在java世界也就是稀爛。
python如果不是一開始就上pypy,那就是一個jit的性能差距,大概就是十倍吧。
最後討論下針對軟體開發。
java它就是消耗代碼,完成同樣功能誰需要寫的代碼更多就更耗時,顯然go是要少些不少代碼。
而我的理解上,python需要1完成的東西go得1.5以上 java到2以上,顯然耗費的時間也就是基於這個比例。
對於個人心智負擔范圍內的項目,我是沒什麼理由選擇java的,因為代碼行數就是時間,時間就是金錢。
而對於不寫測試設計稀爛的項目,這鍋java也背不住。所以吧,如果不是個大項目,感覺並不太需要java出馬以及,除非是有些必然要選擇的原因。
至於大項目,這事我還沒真沒啥概念,大致統計了下以前項目的有效代碼,不算注釋第三方庫,現在公司兩三年的項目多端前後台加起來也就是20來萬行。這也就算是我碰到現在規模最大的了。
剩下的曾經有個創業項目做了三個月差不多前後台也就是三萬多行。
最後說結論吧,項目小,周期短,投入少,還是就django吧。
django框架介紹
Django是高水準的Python編程語言驅動的一個開源模型.視圖,控制器風格的Web應用程序框架,它起源於開源社區。使用這種架構,程序員可以方便、快捷地創建高品質、易維護、資料庫驅動的應用程序。這也正是OpenStack的Horizon組件採用這種架構進行設計的主要原因。
另外,在Dj ango框架中,還包含許多功能強大的第三方插件,使得Django具有較強的可擴展性。Django 項目源自一個在線新聞 Web 站點,於 2005 年以開源的形式被釋放出來。
Django 框架的核心組件有:
1、用於創建模型的對象關系映射。
2、為最終用戶設計較好的管理界面。
3、URL 設計。
4、設計者友好的模板語言。
5、緩存系統。
Django(發音:[`dʒæŋɡəʊ]) 是用python語言寫的開源web開發框架(open source web framework),它鼓勵快速開發,並遵循MVC設計。Django遵守BSD版權,初次發布於2005年7月, 並於2008年9月發布了第一個正式版本1.0 。
Django 根據比利時的爵士音樂家Django Reinhardt命名,他是一個吉普賽人,主要以演奏吉它為主,還演奏過小提琴等。
由於Django在近年來的迅速發展,應用越來越廣泛,被著名IT開發雜志SD Times評選為2013 SD Times 100,位列「API、庫和框架」分類第6位,被認為是該領域的佼佼者。
⑶ python做web開發有哪些好處和不足
python適合Web開發嗎?
當然!python涉及的面十分廣泛,不過使用python進行開發,你需要先掌握python的基礎知識,然後學習python Web框架,比如Django、flask等。總而言之,python這門優美的語言是非常適合Web開發的。
python做Web開發有優勢嗎?
第一、易於使用和閱讀
有幾個因素可以簡化python在Web開發中的使用:
低入門門檻:python與我們日常生活中使用的英語相似,語法的簡單性使您可以處理復雜的系統,並確保所有元素之間都具有明確的關系;因此,更多的新手程序員可以學習該語言並更快地加入編程社區。
良好的可視化:效果通過使用不同的圖和圖表,可以以易於理解的格式表示數據。它們是可視化呈現和理解數據的有效方法,Web開發公司利用python庫來可視化數據並創建清晰且易於理解的報告。
易於閱讀:python非常易於閱讀,因此開發人員通常在理解由其他程序員編寫的代碼時不會遇到任何問題,這可以促使從事同一項目的開發人員之間的通信效率更高。
第二、非同步編碼
由於沒有死鎖或研究爭執或任何其他令人困惑的問題,因此使用python編寫和維護非同步代碼無需花費太多精力。此類代碼的每個單元分別運行,從而使您能夠更快地處理各種情況和問題。
第三、較少限制的編程方法
與其他編程語言對比,python具有較少限制的編程方法。它具有多種範例,可以支持多種編程風格,包含過程性、面向對象和功能性。這使python成為初創公司的絕佳語言,因為項目可能需要隨時更改方法。
第四、企業應用集成
python是企業軟體應用程序的流行選擇,這在很大程度上要歸功於python與傳統上用於企業開發的其他語言的流暢集成。
python直接與Java、C++或C代碼進行調用,從而可以對大多數常用協議和數據格式進行大量的過程式控制制和實現。除此之外,它還可以用於組裝基礎結構的新舊片段,這是復雜移動應用程序中的典型情況。
第五、可以使用python框架快速進行Web開發
python的另一個優點是它具有許多簡化開發過程的框架,根據您的工作,可能需要不同的框架。
第六、科學計算庫方便
有各種各樣的軟體包和庫可用於開發科學和數字應用程序,以及工具包,單獨的成像庫以及許多其他工具。
⑷ 如何用python做web開發 django環境配置
下載
python-2.7.2.msi
Django-1.3.1.tar.gz
Django暫時只支持python 2.4 ~ 2.7, 在Django-1.3.1\docs\intro\install.txt中有說明:
Being a Python Web framework, Django requires Python. It works with any Python
version from 2.4 to 2.7 (e to backwards
incompatibilities in Python 3.0, Django does not currently work with
Python 3.0;
安裝python-2.7.2,並添加環境變數
D:\Python27;D:\Python27\Scripts;
命令行進入Django-1.3.1目錄, 安裝django
python setup.py install
Django提供了tutorial
Django-1.3.1\docs\intro
新建站點
E:\python>django-admin.py startproject mysite
啟動django自帶的web伺服器
E:\python>cd mysite
E:\python\mysite>manage.py runserver
Validating models...
0 errors found
Django version 1.3.1, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
在瀏覽器中輸入 http://127.0.0.1:8000/ 瀏覽頁面
ps:
在windows7中按上述步驟配置好後,出現下列情況
D:\work\python>django-admin.py startproject mysite
Usage: django-admin.py subcommand [options] [args]
...
很顯然django-admin.py不參識別startproject命令,其它命令也不能識別。不過,另一種方式卻可以
D:\Python27\Scripts>python django-admin.py startproject mysite
這說明django-admin.py 後面的參數不能傳遞進去,可以通過修改注冊表實現。
輸入regedit, 進入 HKEY_CLASSES_ROOT\py_auto_file\shell\open\command , "C:\Python26\python.exe" "%1" change it to "C:\Python26\python.exe" "%1" %*
成功解決了
⑸ django 用python開發web,用什麼開發工具
python2.7+django1.3就可以,開發工具用Aptana Studio 3就可以。
⑹ python web開發 該用什麼框架
Djang Python Web應用開發框架
Django是一個開放源代碼的Web應用框架,由Python寫成。採用了MTV的框架模式,即模型M,視圖V和模版T。它最初是被開發來用於管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟體。
Flask:一個用Python編寫的輕量級Web應用框架
Flask是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱採用 Werkzeug ,模板引擎則使用 Jinja2
。Flask使用 BSD 授權。
Flask也被稱為 「microframework」 ,因為它使用簡單的核心,用 extension
增加其他功能。Flask沒有默認使用的資料庫、窗體驗證工具。
Tornado:非同步非阻塞IO的Python Web框架
Tornado是一種 Web 伺服器軟體的開源版本。Tornado 和主流Web 伺服器框架(包括大多數 Python
的框架)有著明顯的區別:它是非阻塞式伺服器,而且速度相當快。
得利於其非阻塞的方式和對epoll的運用,Tornado 每秒可以處理數以千計的連接,因此 Tornado 是實時 Web 服務的一個 理想框架。
⑺ python怎麼做web開發
用Python做Web開發,Django框架是個非常好的起點。
Django是一個開放源代碼的Web應用框架,由Python寫成。採用了MTV的框架模式,即模型M,視圖V和模版T。它最初是被開發來用
於管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟體。並於2005年7月在BSD許可證下發布。
Django已經成為web開發者的首選框架,是一個遵循 MVC 設計模式的框架。MVC是Model、View、Controller三個單詞的簡寫,分別
代表模型、視圖、控制器。Django其實也是一個MTV 的設計模式。MTV是Model、Template、View三個單詞的簡寫,分別代表模型、
模版、視圖 。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關注的是模型(Model)、模板
(Template)和視圖(Views),稱為 MTV模式。
Django 視圖不處理用戶輸入,而僅僅決定要展現哪些數據給用戶,而Django 模板 僅僅決定如何展現Django視圖指定的數據。或者說,
Django將MVC中的視圖進一步分解為 Django視圖 和 Django模板兩個部分,分別決定 「展現哪些數據」 和 「如何展現」,使得
Django的模板可以根據需要隨時替換,而不僅僅限制於內置的模板。
至於MVC控制器部分,由Django框架的URLconf來實現。URLconf機制是使用正則表達式匹配URL,然後調用合適的Python函數。
URLconf對於URL的規則沒有任何限制,你完全可以設計成任意的URL風格,不管是傳統的,RESTful的,或者是另類的。框架把控制層
給封裝了,無非與數據交互這層都是資料庫表的讀,寫,刪除,更新的操作。在寫程序的時候,只要調用相應的方法就行了,感覺很方便。程
序員把控制層東西交給Django自動完成了。 只需要編寫非常少的代碼完成很多的事情。所以,它比MVC框架考慮的問題要深一步,因為
我們程序員大都在寫控制層的程序。這個工作交給了框架,僅需寫很少的調用代碼,大大提高了工作效率。
更多技術請關注Python視頻教程。
⑻ python web開發需要學哪些東西
什麼是web開發呢,其實就是開發一個網站了。那開發網站需要用到哪些知識呢
1、python基礎,因為用python開發的,所以python指定要會,最起碼你也得會條件判斷,循環,函數,類這些知識;
2、html、css的基礎知識,因為要開發網站,網頁都html和css寫的,最起碼這些知識你得會,就算不會寫前端,開發不出來特別漂亮的頁面,網站,最起碼要能看懂html標簽是;
3、資料庫基礎知識,因為開發一個網站的話,數據存在哪裡,就是在資料庫里,那你最起碼要會資料庫的增刪改查吧,要不然怎麼存數據,取數據呢
上面這些知識會的話,就基本上可以了,可以開發一個簡單的小站就沒有問題了,如果想開發比較大型的網站,業務邏輯比較復雜的,那就得用到其他的知識了,比如說redis、MQ等等。
開發前的准備:
1、安裝好 python3.5版本
2、安裝好pycharm,是咱們的開發工具
3、安裝好django,版本1.9,使用pip install django==1.9命令安裝即可
4、安裝好navicat或者其他操作資料庫的可視化工具,因為咱們要用到資料庫,要看資料庫、改數據
前面咱們安裝了django,django是一個python開發的web框架,大而全,幾乎你用到的方法,它全都有,它裡面已經實現了我剛才說的所有的功能,咱們只需要用把它拿過來用就可以了。當然python還有很多web開發框架,比如說web.py、flask、tornado、bottle等等,他們在原理上和django一樣,但是他們的功能都沒有django多,django也是社區最大,活躍用戶最多的一個框架。
⑼ python web開發 用什麼工具
python web開發常用的工具:
1. Django
Django無疑是最通用的web開發框架之一,適用博客做一個後端和為企業做一個內容管理系統。
優點:從幾乎為零的狀態建設出一個全功能的web應用程序。
備註:Python面向對象的設計非常干凈,而且配備了令人難以置信的支持庫。Python可以很容易地與其他流行的編程語言如Java,C和C ++集成。
⑽ 想做Python Web 開發,需要掌握哪些技能
Python 語言
想使用 Python 做後台開發,第一步就是就是學習 Python 語言。首先要將學習 Python 基本語法,再學習 Python 高級用法(例如閉包,面向對象等),接著再了解各個標准庫的用法,最後熟悉下 PEP8 編碼規范。
開發框架
大部分後台業務邏輯都會使用
Web 框架來開發,目的是提高開發效率。常用的 Python web框架有 Django、Flask、Tornado 等。個人推薦熟練掌握
Django,因為 Django 是一個全能型框架。另外需要了解 REST,學習如何編寫 RESTful APIs。資料庫
現在網站業務後端用得比較多的有三種類型的資料庫,關系型資料庫(mysql等),文檔型資料庫(mongodb等),和內存型資料庫(redis等)。因為三種資料庫各有優勢和其使用場景,所以需要了解下不同類型資料庫的使用方法和應用場景,靈活應用到後端代碼中。所以要學習如何使用、設計、優化資料庫。
前端知識
需要了解基本的 HTML、CSS、JavaScript。通常前後端開發是分離的,了解前端知識是有幫助的。能知道自己需要將傳遞哪些內容給前端,從而提供團隊合作效率。如果對前端知識感興趣,可以了解下 Bootstrap、Vue 等。
Web 伺服器
Nginx 目前很流行,使用也是很廣泛。因為其佔用內存少,穩定性高、並發能力強。所以需要掌握 Web 應用部署以及如何使用 Nginx 實現負載均衡。
Linux 操作系統
Nginx
通常運行在 Linux 伺服器上,所以需要學習 Linux 系統。了解一些常見的 Linux
命令、文件與目錄管理、賬號與身份管理、程序與資源管理等。計算機網路
後台開發經常要跟網路打交道,所以熟悉對網路協議 TCP/IP 和 HTTP。
演算法與數據結構
我記得讀大學時使用的教程是嚴蔚敏的《數據結構》(C語言版)。其中有一句很經典的話:『程序 = 演算法 + 數據結構』。所以需要了解常用的演算法和數據結構。