天天看點

Django學習 day3

Django正式開始了!

這裡我使用的是python+django3.0+pycharm專業版

下面是django的下載下傳位址:https://www.djangoproject.com/download/

目錄

    • 建立Project
    • 建立APP
    • Django請求
    • HTTP請求本質

建立Project

首先我們需要建立一個django項目, 然後所有的代碼都會放到這個裡面

這裡建立項目用到:

在pycharm專業版中直接就可以建立django項目

建立好的項目目錄結構是這個樣子的

mysite
        ├── manage.py       # 管理程式的檔案,啟動和結束等。
        └── my site
            ├── __init__.py
            ├── settings.py     # 程式的配置檔案
            ├── urls.py     # 程式的路由系統,即:url和處理其函數的對應的關系
            └── wsgi.py     # 指定架構的wsgi
 
指令幫助我們建立了幾個檔案,通過檔案将功能代碼歸類。 
           

項目建立完之後,再建立app

建立APP

一個項目中會包含一個或多個子項目,每個項目實作不同的功能和服務,如微信裡包含基本通信功能,還有支付、小程式等,每塊業務都可以分為一個子項目。在django中, 我們管這個子項目叫app。下面是一個有多app的項目

Django學習 day3

為了開發和維護友善,每個子項目(app)都會有一個獨立檔案夾來存放各自的業務代碼。

一般程式簡單情況下,隻需要建立一個app即可。

Django請求

Web Server 的請求流程

  • 1.比對路由,路由分發器查找使用者請求的url對應關系
    • 1.找到了業務函數,就調用
    • 2.找不到就報404
  • 2.業務函數,執行業務邏輯
  • 3.傳回資料給浏覽器

django請求流程

  • 1.urls.py 編寫路由
  • 2.在views.py 寫一個業務函數
    • 2.1 編寫業務 代碼
    • 2.2 通過HttpResponse 方法傳回資料給前端
  • 3.python manage.py runserver 0.0.0.0:8000
    Django學習 day3

HTTP請求本質

浏覽器通路網站的本質:socket用戶端、socket服務端之間的收發消息。

流程:

  1. 【服務端】網站啟動,并監聽IP和端口,如:127.0.0.1:80,等待用戶端來連接配接…
  2. 【用戶端】浏覽器中輸入http://www.oldboyedu.com/index/,浏覽器先後進行:
    1. 連接配接:域名解析得到網站IP,并根據端口進行連接配接。
    2. 發送消息:将請求資料發送給服務端,發送資料本質上是字元串,格式如下:
GET /index/ http1.1\r\nhost:www.luffycity.com…..\r\n\r\n                           
POST /index/ http1.1\r\nhost:www.luffycity.com...\r\n\r\nage=18&num=1
           
  1. 【服務端】接收使用者請求發來的資料,并根據請求字元串解析,并做出響應。
響應:HTTP/1.1 200 OK\r\nContent-Type: text/html;...\r\n\r\n<html>...</html>
           
  1. 【用戶端】接收服務端響應的内容,将響應體展示在浏覽器上,響應頭偷偷儲存到浏覽器。
  2. 【用戶端】【服務端】連接配接斷開,Http請求終止(展現了Http短連接配接)。

注意:請求和響應基本包含請求頭和請求體并通過\r\n\r\n進行分割。