web開發(fā)簡介
時間:2022-08-30 15:27:01 | 來源:網(wǎng)站運營
時間:2022-08-30 15:27:01 來源:網(wǎng)站運營
教程說明 Django 教程 以一個
實際的項目
來 講解如何使用Django 開發(fā)Web應(yīng)用。
我們的 項目是 實現(xiàn)一個 公司 的 銷售管理系統(tǒng)。
如果你們現(xiàn)在就急著想看看 教程實現(xiàn)什么樣的系統(tǒng), 可以點擊這里查看具體的系統(tǒng)需求
Web 應(yīng)用技術(shù)邊看下面2個視頻,邊學習本節(jié)內(nèi)容
學習視頻1
學習視頻2
當今的互聯(lián)網(wǎng)時代,大家經(jīng)常使用電腦上的瀏覽器或者手機 進行購物、刷新聞,娛樂,學習。
這些豐富多彩應(yīng)用,背后的軟件系統(tǒng)是基于web技術(shù)開發(fā)的。
這些web系統(tǒng),通常可以分為 :
客戶端
和
服務(wù)端
。
比如,手機應(yīng)用(比如微信)就是 客戶端, 騰訊公司的微信服務(wù)程序(運行在騰訊的機房里面)就是服務(wù)端。
再比如,電腦打開淘寶, 瀏覽器里面運行的淘寶網(wǎng)頁,就是 客戶端, 而 阿里巴巴 的 淘寶服務(wù)程序(運行在阿里的機房里面)就是服務(wù)端。
也有人喜歡把 客戶端 稱之為
前端
,服務(wù)端稱之為
后端
。
那么 開發(fā) 客戶端(前端)的工程師 就會被稱之為 客戶端(前端)工程師 ,
開發(fā) 服務(wù)端(后端)的工程師 就會被稱之為 服務(wù)端(后端)工程師。
如果一個工程師,同時可以做前端和后端的開發(fā),通??梢苑Q之為 web系統(tǒng)
全棧
工程師。
客戶端和服務(wù)端 之間 是需要 進行數(shù)據(jù)信息的交流的。 想象一下,當你登錄淘寶 想查看自己的購買記錄, 你的購買記錄存儲在阿里的服務(wù)器上, 所以瀏覽器就需要從阿里的服務(wù)器上獲取你的購買記錄。
那么作為客戶端的瀏覽器或者手機 是怎么獲取信息呢?
通常是根據(jù)使用http協(xié)議(Hypertext Transfer Protocol)。
客戶端通過http協(xié)議發(fā)送請求信息給服務(wù)端,并從服務(wù)端接收響應(yīng)信息。
下面我們就 分別來看看 前端開發(fā) 和 后端開發(fā) 大體是做什么。
這里,我們先關(guān)注 瀏覽器前端, 也就是web前端。 對于手機前端的 開發(fā),暫不涉及。
Web 前端開發(fā)Web 前端開發(fā)的重點是 : 提供用戶界面給 用戶進行觀看和操作。
開發(fā)人員通常需要開發(fā)如下文件:
- html 文件
用來顯示界面給用戶看,我們看到的 各種美觀的web網(wǎng)頁就是通過解釋html實現(xiàn)的。
當然,要顯示出各種美觀的界面,并且讓用戶方便的操作,光是html是不夠的,還需要下面這些文檔。 - CSS
CSS 文檔控制界面的顯示樣式和效果,比如字體、大小、前景色、背景色、間距、一些動畫效果等等,
一句話:就是讓你的界面更好看 - 資源文件
包括顯示在界面上的 圖片、視頻等 - javascript 腳本
html 文檔里面還經(jīng)常包括一些,javascript 腳本 ( 簡稱 js )。
js 和 python 一樣是一種編程語言。
python腳本通過python解釋器執(zhí)行,js腳本通過瀏覽器內(nèi)置的 js 引擎執(zhí)行。
注意:html 和 css 文檔 只是定義了一些靜態(tài)的界面內(nèi)容。前端的動態(tài)功能, 就是通過瀏覽器執(zhí)行 這些 js腳本產(chǎn)生的。
上述的這些文件開發(fā)出來后, 最終都是通過
瀏覽器
來運行,展示出界面來給用戶觀看和操作的。
上述的文件(html,css,js)沒法直接放到瀏覽器端,都是部署在后端服務(wù)器上(有些在cdn上)。
當我們?yōu)g覽一個網(wǎng)站的時候,瀏覽器先通過http協(xié)議獲取這些文檔,然后讀取解釋它們的內(nèi)容,生成對應(yīng)的界面呈現(xiàn)給我們操作。
在大概十多年前,相對后端開發(fā)來說,前端的開發(fā)量相對較小。 主要就是設(shè)計界面。
前端開發(fā)一般沒有太多的動態(tài)的邏輯控制功能。
最多就是用js 腳本做一些頁面動態(tài)效果,以及一些數(shù)據(jù)校驗的工作(比如注冊時的用戶名長度校驗等)。
主要的數(shù)據(jù)處理 和 業(yè)務(wù)邏輯的實現(xiàn),甚至界面html 文檔的動態(tài)生成,都是后端做的事情。
由于 設(shè)計上的難度相對較小,前端工程師有時被稱為
做界面的
,略帶一種輕視的意味。
而現(xiàn)在由于 瀏覽器 內(nèi)嵌的js 解釋器性能飛速提升,可以讓大量的代碼邏輯在前端實現(xiàn)。
由于前端瀏覽器運行在每個用戶各自的電腦(或者手機)上,如果把一部分業(yè)務(wù)邏輯的實現(xiàn)放在前端,相當于有成千上萬的前端設(shè)備分擔后端的負荷, 可以大大分擔后端的壓力。
所以現(xiàn)在的web系統(tǒng)的設(shè)計,前端的重要性日益增加。
前端工程師經(jīng)常需要通過javascript語言,實現(xiàn)數(shù)據(jù)處理和展示。
有的系統(tǒng),前端也實現(xiàn)部分業(yè)務(wù)邏輯功能。 比如: 用戶權(quán)限檢查、用戶顯示數(shù)據(jù)過濾等。
有的架構(gòu)師喜歡把大量的業(yè)務(wù)邏輯轉(zhuǎn)移到前端,加上界面渲染的功能也完全由前端實現(xiàn)。
這樣 后端就做單純的數(shù)據(jù)存儲 和 分析工作。
所以現(xiàn)在前端工程師, 不僅設(shè)計實現(xiàn) 用戶界面,還要能使用js 語言 實現(xiàn) 數(shù)據(jù)獲取、分析處理 和 業(yè)務(wù)相關(guān)的邏輯。
Web 后端 開發(fā)剛才說了前端開發(fā)的工作,那么后端開發(fā)主要做什么?
簡單說,后端要開發(fā) 服務(wù)進程,處理前端http請求,返回相應(yīng)的數(shù)據(jù)。
通常 包括數(shù)據(jù)的 查詢、增加、刪除、修改。
這聽起來似乎很簡單,其實有的業(yè)務(wù)流程非常復(fù)雜 (想想淘寶購物),有時一個購買操作,要涉及到很多邏輯處理。
而且,如果設(shè)計用戶量非常大,需要響應(yīng) 百萬級以上 的客戶訪問, 就需要精心的設(shè)計架構(gòu),做好多服務(wù)分布式、集群式的處理大量的用戶請求。
通常,后端的開發(fā)涉及到:
就是前端開發(fā)出來的HTML、css、js文件存儲在什么地方,使用什么的服務(wù)提供給前端瀏覽器訪問。 通常一個比較大型的網(wǎng)站, 靜態(tài)文件往往會使用單獨的服務(wù)器專門提供服務(wù),甚至一部分特別消耗帶寬的數(shù)據(jù)(比如視頻、圖片)會使用第三方的云服務(wù)廠商(比如阿里云的cdn和oss服務(wù))。
- API 接口設(shè)計, 就是 定義 前端和后端交互接口規(guī)范。
目前流行的是REST API 風格的接口,但是需要我們設(shè)計具體的API請求和響應(yīng)消息的組成細節(jié)。
這個通常應(yīng)該是架構(gòu)師設(shè)計的, 但是往往這工作經(jīng)常會落到后端工程師頭上。實際上 很多公司里面,系統(tǒng)架構(gòu)師 也會做后端開發(fā)的工作。 - 數(shù)據(jù)庫存儲方案,比如:選擇什么樣的數(shù)據(jù)庫,包括 關(guān)系型和非關(guān)系型的數(shù)據(jù)庫。
- 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計, 要能合理、高效的存儲業(yè)務(wù)數(shù)據(jù),這樣才能 高效查詢、修改各種關(guān)聯(lián)性的數(shù)據(jù)。
- 為了提高性能, 需要決定使用怎樣的 緩存服務(wù) 和 異步任務(wù)服務(wù)
- 還有 其它種種特殊的考慮,比如 要熟悉目前日益流行的云存儲技術(shù),將有的數(shù)據(jù),如圖片,視頻等 合理存儲在云端
- 有的系統(tǒng)還需要有 大數(shù)據(jù)分析的需求 要后端高效實現(xiàn)。
使用 Django 開發(fā)后端服務(wù)
本教程重點放在后端服務(wù)的實現(xiàn), 包括 API 接口設(shè)計 和 數(shù)據(jù)庫設(shè)計和操作。
我們 使用 Python Web 開發(fā) 最流行的應(yīng)用框架
Django 幫我們高效地實現(xiàn) 后端。
Django是一個 基于Python語言的 開源免費的 Web應(yīng)用 開發(fā)框架。
它幫我們解決了Web應(yīng)用開發(fā)的 常見問題。
使用它,我們可以把精力放在應(yīng)用本身的邏輯處理上,而不用操心Web服務(wù)的基本問題。這樣可以大大提高我們的開發(fā)效率。
這是Django的 官方網(wǎng)站 https://www.djangoproject.com
我們的Django 教程 以一個實際的案例 來 講解如何使用Django 開發(fā)Web應(yīng)用。
我們的案例是 實現(xiàn)一個 公司 的 銷售管理系統(tǒng)。
要查看具體的系統(tǒng)需求 請點擊這里
大家可以把自己想象成一個后端開發(fā)人員, 根據(jù)上面的系統(tǒng)需求, 一步步的實現(xiàn)后端系統(tǒng)。 而這個系統(tǒng)的前端開發(fā) ,你們也假想有個團隊在開發(fā), 如果你們后端實現(xiàn)正確, 就可以正確 對接成功,完成一個完整系統(tǒng)的功能。
您需要高效學習,找工作? 點擊咨詢 報名實戰(zhàn)班
點擊查看學員就業(yè)情況
下一頁
HTTP協(xié)議