大家好,從今天開始呢,咱們進行django框架的學習,課程總共分為6節,透過6節課的學習,讓大家對django有具體的瞭解,並能使用django開發出具有互動功能的網站應用。好,下面咱們進行第一節的學習。在學習django之前呢,咱們先了解什麼web框架 大家看一下這張圖:
從圖上可以看出,web框架,就是將路由系統、業務處理邏輯、資料庫與模板耦合這些功能集中打包在一起,實現網站應用開發的底層功能。
由此可見,
咱們在使用web框架進行網站應用開發中,就
不用考慮如何
請求、解析、響應等這些底層操作,咱們只需要按照web框架的規則進行填寫和修改,就能實現相應的業務功能,從而讓網站開發變得很簡單。
在python語言中,有很多web框架,
常用的有Django,TurboGears,web2py和flask,每個框架都有其自身的特點和優勢,咱們可以根據不同的專案,選擇不同的框架來進行開發,對於剛開始接觸web應用開發,我建議還是使用django,主要原因也是因為他上手快,使用簡單,能快速
搭建出高效能的網站應用。
下面咱們介紹下django,django這個名字來自Django Reinhardt(
強哥。萊恩哈特
),他是
法國著名吉他手,爵士樂史上偉大的琴師
。django語言是在2003年時,由阿德里安和西蒙開發出了的,最早是用於內部新聞編輯。
直到 2005 年正式對外發布。
有了Django,咱們可以在幾個小時內就開發出一個網站應用,讓網站開發變得更加簡單。
Django 框架特點:
1、
django的框架
是一種
mtv模型組織,類似mvc,
開發快速,維護和升級非常方便
2、
複用性,相同的功能模組,可以移植到不同的專案中使用
3、安全性,django裡面集成了一些必須的安全認證策略
,如SQL注入、跨站點指令碼、跨站點請求偽造等,咱們以此開發會提高網站的安全性。
4、擴充套件性,django作為一個框架,有極強的擴充套件性,可以在其基礎開發各類網站應用。
-
Django的版本
-
最新版本:3。0。1
-
當前教學版本:3。0。1
django的官網
https://www。djangoproject。com/
2、Django的安裝
django安裝非常簡單,首先保證你的電腦已經安裝好python以及pip,咱們開啟命令提示符,輸入pip install django。
-
安裝
1。
線上安裝:開啟cmd命令提示符介面
2。
輸入
-
`pip install django # (安裝django的最新版本)`
-
或
-
`pip install django[==版本]`
-
如:
-
`pip install django==3。0`
(安裝django的指定版本)
-
檢視
-
import django
print(django。VERSION)
-
Django的解除安裝
-
pip uninstall django
3、建立第一個網站
上面咱們把django框架的基本情況做了個大致瞭解,下面咱們就透過實際操作,建立一個網站,來看看django到底是怎麼執行的。這裡咱們要用一個pycharm編輯器。對於編輯器的情況這裡就不做太多介紹,具體安裝方法在講義裡面有,如果沒安裝的,可以自行去根據方法來安裝。
現在咱們開啟pycharm,看到這個介面,咱們點選建立專案-選擇django 設定專案儲存位置,點選create 就會建立一個mysite專案。
Django將自動生成下面的目錄結構:
與專案同名的目錄中是配置檔案,venv 虛擬環境, manage。py是django專案管理檔案。
-
目錄檔案說明:
-
mysite 專案包資料夾
-
專案包的主資料夾(預設與專案名稱一致)
1。
`__init__。py`
-
專案初始化檔案,服務啟動時自動執行
2。 ‘asgi。py’
-用來處理websocket請求
3。`settings。py`
-
Django的配置檔案, 此配置檔案中的一些全域性變數將為Django框架的執行傳遞一些引數
-
setting。py 配置檔案,啟動服務時自動呼叫,
-
此配置檔案中也可以定義一些自定義的變數用於作用全域性作用域的資料傳遞
4。
`wsgi。py`
-
WEB服務閘道器介面的配置檔案,僅部署專案時使用
5。
`urls。py`
-
專案的基礎路由配置檔案,所有的動態路徑必須先走該檔案進行匹配
`manage。py`
檔案介紹
-
此檔案是專案管理的主程式,在開發階段用於管理整個專案的開發執行的調式
-
`manage。py`
包含專案管理的子命令, 如:
-
`python manage。py runserver`
啟動服務
-
`python manage。py startapp`
建立應用
-
`python manage。py migrate`
資料庫遷移
-
`。。。`
`settings。py` 檔案介紹
1。
`BASE_DIR`
-
用於繫結=當前專案的絕對路徑(動態計算出來的), 所有檔案都可以依懶此路徑
2。
`DEBUG`
用於配置Django專案的啟用模式
1。
True 表示開發環境中使用
`除錯模式`
(用於開發中)
2。
False 表示當前專案執行在
`生產環境中`
(不啟用除錯)
3。
`ALLOWED_HOSTS`
-
設定允許訪問到本專案的網路地址列表
-
取值:
1。
如果為空列表, 表示只有
`127。0。0。1`
能訪問本專案
2。
[‘*’] 表示任何網路地址都能訪問到當前專案
如:
localhost / 127。0。0。1 / 0。0。0。0 / IP
區域網內也允許訪問
注意:
如果要在區域網內訪問的話,啟動方式:
python3 manage。py runserver 0。0。0。0:埠號
4。
`INSTALLED_APPS`
-
指定當前專案中安裝的應用列表
5。
`MIDDLEWARE`
-
用於註冊中介軟體
6。
`TEMPLATES`
-
用於指定模板的配置資訊
7。
`DATABASES`
-
用於指定資料庫的配置資訊
8。
`LANGUAGE_CODE`
-
用於指定語言配置
-
取值:
-
中文 :
`“zh-Hans”`
9。
`TIME_ZONE`
-
用於指定當前伺服器端時區
-
取值:
-
中國時區 :
`“Asia/Shanghai”`
10。
`ROOT_URLCONF`
-
用於配置根級 url 配置 ‘mysite。urls’
-
如:
-
`ROOT_URLCONF = ‘mysite。urls’`
-
預設配置
-
模組
-
`import django。conf。global_settings`
`url。py` 檔案介紹
1。
網站路由功能的配置檔案
2。
urlpatterns 是一個 url() 例項的列表,如:
urlpatterns = [
path(r‘^admin/’, admin。site。urls),
]
-
作用:
該檔案會包含 urlpatterns 的列表用於表示路由-檢視對映,透過 url() 表示具體對映
3。
url() 函式
-
用於描述路由與檢視函式的對應關係
-
模組
-
`from django。conf。urls import url`
-
語法:
-
url(regex,views,kwargs=None,name=None)
1。
regex: 字串型別,匹配的請求路徑,允許是正則表示式
2。
views: 指定路徑所對應的檢視處理函式的名稱
3。
kwargs: 向檢視中傳遞的引數
4。
name: 為地址起別名,反向解析時使用
-
注:
-
每個正則表示式前面的r表示
`‘\’`
不轉義的原始字串
-
當urlpatterns內有多個url物件時,按自上而下的順序進行配置,一但有 路由與url配置成功,則後面的所有url被忽略
`wsgi。py` 檔案介紹
1。wsgi是一個介面,WSGI全稱:Web Server Gateway Interface。網路服務閘道器介面
2。wsgi實現了HTTP請求、解析HTTP請求、傳送HTTP響應等底層應用的功能,
Django中的應用(功能模組) - app
什麼是應用(app)
-
應用在Django專案中是一個獨立的業務模組,可以包含自己的路由,檢視,。。。 。。。
建立應用APP
在每個django專案中可以包含多個APP,相當於一個大型專案中的分系統、子模組、功能部件等等,相互之間比較獨立,但也有聯絡。
所有的APP共享專案資源。
在pycharm下方的terminal終端中輸入命令:
python manage。py startapp login
這樣就建立了一個叫做login的APP,django自動生成“login”資料夾。
Django應用的結構組成
1。
`migrations`
資料夾
-
儲存資料遷移的中間檔案
2。
`__init__。py`
-
應用子包的初始化檔案
3。
`admin。py`
-
應用的後臺管理配置檔案
4。
`apps。py`
-
應用的屬性配置檔案
5。
`models。py`
-
與資料庫相關的模型對映類檔案
6。
`tests。py`
-
應用的單元測試檔案
7。
`views。py`
-
定義檢視處理函式的檔案
-
配置安裝應用
-
在 settings。py 中配置應用, 讓此應用能和整個專案融為一體
INSTALLED_APPS = [
。。。 。。。,
‘自定義應用名稱’
]
-
如:
```py
INSTALLED_APPS = [
‘login’, # 使用者資訊模組
‘regsier’, # 收藏模組
]
```
4. 編寫路由
路由都在urls檔案裡,它將瀏覽器輸入的url對映到相應的業務處理邏輯。
簡單的urls編寫方法如下圖:
5. 編寫業務處理邏輯
業務處理邏輯都在views。py檔案裡。
透過上面兩個步驟,我們將index這個url指向了views裡的index()函式,它接收使用者請求,並返回一個“hello world”字串。
6. 執行web服務
現在我們已經可以將web服務執行起來了。
命令列的方式是:python manage。py runserver 127。0。0。1:8000
但在pycharm中,你可以這麼幹:
在上部工具欄中找到下面圖示的圖示。
點選下拉箭頭
點選edit configurations
在host中填入:127。0。0。1 port中填入:8000
OK確定之後,點選綠色的三角,web服務就執行起來了。
這樣開啟後,咱們就看到網站了,可以說不用寫一行程式碼,就能建立一個網站 。下面咱們逐個檔案介紹一下,看看他們都是什麼功能,起什麼作用。
練習:
1、安裝django,並透過pycharm建立第一個網站並執行。