1. 程式人生 > >Django框架(一)—— 安裝使用Django

Django框架(一)—— 安裝使用Django

資源 數據庫遷移 業務邏輯 組件 分布式 簡單的 數據大小 掌握 分享圖片

Django入門

一、web應用

Web應用程序是一種可以通過Web訪問的應用程序,程序的最大好處是用戶很容易訪問應用程序,用戶只需要有瀏覽器即可,不需要再安裝其他軟件

二、C/S 和B/S 架構

客戶端/服務端架構即(Client/Server,簡稱C/S)

瀏覽器/服務器架構(Browser/Server,簡稱B/S)能夠很好地應用在廣域網上,成為越來越多的企業的選擇

總結一下,本質上:瀏覽器是一個 socket客戶端,服務器是一個 socket服務端

三、python中的web框架

目前的Python中的主流框架:djangoflasktornado

在Python中web框架可以分為3層:socket

路由跟視圖函數匹配關系模板渲染

          socket        路由跟視圖函數匹配關系     模板渲染
django: a: 用了別人的wsgiref   b:自己寫的        c:自己寫的
flask: a:用了別人的            b:自己寫的        c:用了別人的:jinja2
tornado: a 自己寫的            b:自己寫的        c:自己寫的

四、http協議

1、什麽是http協議

HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於萬維網(WWW:World Wide Web )服務器與本地瀏覽器之間傳輸超文本的傳送協議。

HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分布式超媒體信息系統。

2、http協議的特點

  • 基於TCP/IP協議之上的應用層協議

  • 基於請求-響應模式:HTTP協議規定,請求從客戶端發出,最後服務器端響應該請求並返回

  • 無狀態保存:HTTP是一種不保存狀態,即無狀態(stateless)協議。HTTP協議 自身不對請求和響應之間的通信狀態進行保存。也就是說在HTTP這個 級別,協議對於發送過的請求或響應都不做持久化處理。

    使用HTTP協議,每當有新的請求發送時,就會有對應的新響應產 生。協議本身並不保留之前一切的請求或響應報文的信息。這是為了更快地處理大量事務,確保協議的可伸縮性,而特意把HTTP協議設計成 如此簡單的。可是,隨著Web的不斷發展,因無狀態而導致業務處理變得棘手的情況增多了。比如,用戶登錄到一家購物網站,即使他跳轉到該站的其他頁面後,也需要能繼續保持登錄狀態。針對這個實例,網站為了能夠掌握是誰送出的請求,需要保存用戶的狀態。HTTP/1.1雖然是無狀態協議,但為了實現期望的保持狀態功能,於是引入了Cookie

    技術。

  • 無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開連接。采用這種方式可以節省傳輸時間

3、http請求協議和響應協議

(1)請求協議

技術分享圖片

技術分享圖片

請求方式: get與post請求
  • GET提交的數據會放在URL之後,以?分割URL和傳輸數據,參數之間以&相連,如EditBook?name=test1&id=123456. POST方法是把提交的數據放在HTTP包的請求體中.
  • GET提交的數據大小有限制(因為瀏覽器對URL的長度有限制),而POST方法提交的數據沒有限制.
  • GET與POST請求在服務端獲取請求數據方式不同。
(2)響應協議

技術分享圖片

技術分享圖片

響應狀態碼

狀態碼的職是當客戶端向服務器端發送請求時,返回的請求結果。借助狀態碼,用戶可以知道服務器端是正常處理了請求還是出現錯誤了 。狀態碼如200 OK,以3位數字和原因組成。數字中的 一位指定了響應類別,後兩位無分別。響應類別有以下5種

技術分享圖片

五、URL簡介

統一資源定位符是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎麽處理它

格式:

  協議://IP:端口(80)/路徑?name=lqz&age=18

?之前的是請求路徑,?之後的是請求數據部分

六、Django的安裝和使用

1、MVC和MTV模型

(1)MVC模型

Web服務器開發領域裏著名的MVC模式,所謂MVC就是把Web應用分為模型(M),控制器(C)和視圖(V)三層,他們之間以一種插件式的、松耦合的方式連接在一起,模型負責業務對象與數據庫的映射(ORM),視圖負責與用戶的交互(頁面),控制器接受用戶的輸入調用模型和視圖完成用戶的請求

(2)MTV模型

Django的MTV模式本質上和MVC是一樣的,也是為了各組件間保持松耦合關系,只是定義上有些許不同,Django的MTV分別是值:

  • M 代表模型(Model): 負責業務對象和數據庫的關系映射(ORM)。
  • T 代表模板 (Template):負責如何把頁面展示給用戶(html)。
  • V 代表視圖(View): 負責業務邏輯,並在適當時候調用Model和Template。

2、下載Django

方式一:在命令行輸入:pip3 install django

    pip install django==1.11.9 -i http://pypi.hustunique.org/simple 指定版本號,指定國內鏡像

方式二:用pycharm安裝

方式三:用pycharm的Terminal的命令行安裝

3、使用Django創建項目

命令創建項目:

django-admin startproject 項目名字

創建app:

python3 manage.py startapp app

-文件目錄介紹:
? -manage.py---項目入口,執行一些命令
? -項目名
? -settings:全局配置信息
? -urls:總路由,請求地址跟視圖函數的映射關系
? -app名字
? -migrations:數據庫遷移的記錄
? -models.py 數據庫表模型
? -views 視圖函數

4、運行項目

pytyon3 manage.py runserver 127.0.0.1:8001

Django框架(一)—— 安裝使用Django