{eval=Array;=+count(Array);}
機(jī)器學(xué)習(xí)和人工智能幾乎都用PYTHON,PYTHON可以干很多事情,因?yàn)榛赑YTHON有非常多的第三方庫,可以做游戲,做爬蟲,做金融,做網(wǎng)站,做圖像處理,做科學(xué)計(jì)算,做聊天機(jī)器人等,你提到的django就是基于PYTHON的WEB框架,用更少的代碼讓你做一個(gè)網(wǎng)站。如果你是初學(xué)者,沒有接觸過PYTHON甚至沒學(xué)過編程,你可以關(guān)注我我們用python,有零基礎(chǔ)入門視頻教學(xué),都是非常簡單容易上手的。
您好,本人具有多年python開發(fā)經(jīng)驗(yàn),希望能與大家共同學(xué)習(xí),共同進(jìn)步!
首先,明確一個(gè)概念,什么是django?
django其實(shí)是一個(gè)python的web開發(fā)框架,也就是python專門用來開發(fā)網(wǎng)頁的一個(gè)構(gòu)架系統(tǒng)!
django有什么特點(diǎn)?
django是一個(gè)大而全的web開發(fā)框架,它是用純python實(shí)現(xiàn)的。大而全,是django的特點(diǎn),為什么這樣說?因?yàn)閐jango已經(jīng)幫您實(shí)現(xiàn)了建立網(wǎng)站的基本所有功能,您可以只需要簡單的做幾項(xiàng)配置,您的網(wǎng)站就建起來了,例如數(shù)據(jù)庫連接只需要在配置文件里填上相應(yīng)的地址和端口號,數(shù)據(jù)庫名字就可以連接成功,非常簡單!還有,甚至網(wǎng)絡(luò)攻擊crsf,也在django中進(jìn)行簡單配置就可以攔截,簡直易如反掌?。?!
django是標(biāo)準(zhǔn)的MTV模式的網(wǎng)站,這個(gè)java的struts MVC模式極為極為相似!
所謂的MTV模式就是,數(shù)據(jù)模型model,這是通過django獨(dú)有的orm映射的數(shù)據(jù)庫中的各個(gè)表,將其映射成為一個(gè)class去處理,網(wǎng)頁模板template,這其實(shí)就是html嵌入了jinja2的語法,視圖業(yè)務(wù)處理view,就是純python的后端業(yè)務(wù)處理邏輯。
瀏覽器,發(fā)過來前端請求后,django會在它的配置文件setting中查找url文件的配置路徑,找到url文件后,回去url文件里利用正則表達(dá)式匹配相應(yīng)的路由從而請求相應(yīng)的視圖函數(shù),再去通過model的數(shù)據(jù)模型,去查找數(shù)據(jù)庫進(jìn)行相應(yīng)的業(yè)務(wù)處理,最后將回應(yīng)返回給前端template進(jìn)行展示,是的就是這么簡單!
django的后段服務(wù)器叫做uwsgi,是python編寫的專門的web訪問程序接口,一般和nginx搭配實(shí)現(xiàn)負(fù)載均衡,因?yàn)閚ginx對靜態(tài)文件有著極好的處理能力!這樣就可以節(jié)省后端服務(wù)器,并且可以避免一些網(wǎng)絡(luò)攻擊!
著名的豆瓣網(wǎng)就是用django開發(fā)而成,但是django也有自己的缺點(diǎn),而它的缺點(diǎn)恰恰是因?yàn)樗膬?yōu)點(diǎn),大而全,有許多開發(fā)者覺得許多功能不是自己所需要的,這就導(dǎo)致了自己開發(fā)的網(wǎng)站過于繁瑣,或者過于重!
凡事各有利弊,希望大家根據(jù)自己的需求合理選擇框架,祝您學(xué)習(xí)進(jìn)步?。?!
您好,Django是python的一個(gè)web框架,用來開發(fā)web后端。
掌握Django后,我們可以從事一些web后端的開發(fā)工作。使用Django開發(fā)web后端效率還是比較高的,因?yàn)樗詭Я寺酚上到y(tǒng)、ORM(對象關(guān)系映射)、admin后臺,而且通過執(zhí)行幾個(gè)命令就能搭建一個(gè)項(xiàng)目。
但是掌握了Django后,要開發(fā)web后端,我們還需要掌握數(shù)據(jù)庫(mysql 、redis)、服務(wù)器(nginx)、git等知識,才能勝任后端開發(fā)工作。
Django是python語言一個(gè)web框架,如果你會Django就可以自己做網(wǎng)站。python可以做的東西很廣 :web開發(fā)、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析、圖形界面、服務(wù)器運(yùn)維、科學(xué)計(jì)算、人工智能、自動化測試、游戲開發(fā)等等
6
回答3
回答0
回答0
回答1
回答9
回答10
回答3
回答0
回答10
回答