day35-Django 3.2
前言
之前我們介紹過web應用程序和http協議,簡單了解過web開發的概念。Web應用程序的本質
- 接收并解析HTTP請求,獲取具體的請求信息
- 處理本次HTTP請求,即完成本次請求的業務邏輯處理
- 構造并返回處理結果——HTTP響應
import socketserver = socket.socket()
server.bind(('127.0.0.1', 8080))
server.listen(5)while True:conn, addr = server.accept()data = conn.recv(1024)print("data:\n",data)# 路徑解析request_path = data.decode('utf-8').split('\r\n')[0].split(' ')[1]if request_path == '/':with open("index.html", "rb") as f:data = f.read()conn.send(b'HTTP/1.1 200 OK\r\n\r\n' + data)elif request_path == '/timer':with open("login.html", "rb") as f:data = f.read()conn.send(b'HTTP/1.1 200 OK\r\n\r\n' + data)else:with open("notFound.html", "rb") as f:data = f.read()conn.send(b'HTTP/1.1 404 Not Found\r\n\r\n' + data)
那么什么是web框架呢?
Web應用框架有助于減輕網頁開發時共通性活動的工作負荷,例如許多框架提供數據庫訪問接口、標準樣板以及會話管理等,可提升代碼的可再用性。
說簡單點就是web框架用于搭建Web應用程序,免去不同Web應用相同代碼部分的重復。
一、Django介紹
Python下有許多款不同的 Web 框架。Django是重量級選手中最有代表性的一位。許多成功的網站和APP都基于Django。Django 是一個開放源代碼的 Web 應用框架,由 Python 寫成。Django 遵守 BSD 版權,初次發布于 2005 年 7 月, 并于 2008 年 9 月發布了第一個正式版本 1.0 。
Django文檔
Django 采用了 MVT 的軟件設計模式,即模型(Model),視圖(View)和模板(Template)。
這個MVT模式并非django首創,在其他的語言里面也有類似的設計模式MVC,甚至可以說django里面的MVT事實上是借鑒了MVC模式衍生出來的。
M,Model,模型,是用于完成操作數據庫的。
V,View,視圖,里面的代碼就是用于展示給客戶端的頁面效果。
C,Controller,控制器,是一個類或者函數,里面的代碼就是用于項目功能邏輯的,一般用于調用模型來獲取數據,獲取到的數據通過調用視圖文件返回給客戶端。
而MVT指的是:
- M全拼為Model,與MVC中的M功能相同,負責和數據庫交互,進行數據處理。
- V全拼為View,與MVC中的C功能相同,接收請求,進行業務處理,返回應答。
- T全拼為Template,與MVC中的V功能相同,負責封裝構造要返回的html。
MVT模型的工作流程
路由控制器將請求轉發給對應的視圖函數,完成業務邏輯,視圖函數將從model中獲取的數據嵌入到template的中模板文件(html)渲染成一個頁面字符串,返回給客戶端的流程。
所以我們學習Django重點是四個部分:url路由器+MVT
二、Django下載與運行
2.1、Django的下載
目前我們學習和使用的版本是3.2LTS版本
目前開源軟件發布一般會有2個不同的分支版本:
1. 普通發行版本: 經常用于一些新功能,新特性,但是維護周期短,不穩定.
2. 長線支持版本[LongTerm Supper]: 維護周期長,穩定軟件版本格式: 大版本.小版本.修訂號
大版本一般是項目內容/軟件的核心架構發生改動, 以前的代碼已經不適用于新的版本
小版本一般是功能的刪減, 刪一個功能,小版本+1, 減一個功能,小版本+1
修訂號一般就是原來的代碼出現了bug, 會針對bug代碼進行修復, 此時就會增加修訂號的數值
官網: http://www.djangoproject.com
文檔:https://docs.djangoproject.com/zh-hans/3.2/
在本地安裝
pip install django
pip install django==3.2
pip源:https://pypi.douban.com/simple/ 豆瓣源https://pypi.tuna.tsinghua.edu.cn/simple 清華源使用格式:pip install django -i https://pypi.douban.com/simple/
# 查看django版本號
django-admin --version
當然在以后開發或者學習中,我們肯定都會遇到在一臺開發機子中,運行多個項目的情況,有時候還會出現每個項目的python解析器或者依賴包的版本有差異.
2.2、Django的啟動運行
創建虛擬環境并在虛擬環境中下載安裝django包
pip install django==3.2 -i https://pypi.douban.com/simple/
cd ~/Desktop
django-admin startproject demo
完成了以后,直接直接下pycharm下面的終端terminal中使用命令運行django
python manage.py runserver 8090