Django學習筆記-3

URL編寫規則

URL(Uniform Resource Locator,統一資源定位符)是互聯網上標準資源地址。用於指出文件的路徑位置。Django中,URL也成爲URLconf。

每個App中設置獨立的靜態資源和模板文件夾並添加一個.py文件,命名爲urls.py。

在這裏插入圖片描述

在App的urls.py中寫入對應URL,項目根目錄urls.py 來管理每個App中的urls.py文件。根目錄下urls.py編寫URL規則如下:

項目目錄下的urls.py

在這裏插入圖片描述

# 導入Admin功能模塊
from django.contrib import admin
# 導入URL編寫模塊
from django.urls import path,include
# 整個項目URL集合,每個元素代表一條URL信息
urlpattern
# 設定Admin的URL(127.0.0.1:8000/admin)
path('admin/',admin.site.urls),
# URL爲空,代表網站域名(127.0.0.1:8000)
path('',include('index.urls'))
首頁地址分發給了index的urls.py處理,因此需要配置index的urls.py編寫信息,代碼如下:

在這裏插入圖片描述

index的urls.py編寫規則與根目錄urls.py大致相同,基本上所有的URL都是有固有的編寫格式。
上述代碼導入了同一目錄下的views.py文件,該文件用於編寫視圖函數,處理URL請求信息並且返回網頁給用戶。代碼如下:

在這裏插入圖片描述

index函數必須設置參數request,該參數代表當前用戶的請求對象。包括:用戶名,請求內容,請求方式等信息。啓動djangoDemo項目後
運行結果如下:

在這裏插入圖片描述

帶變量的URL

日常開發過程中,有時一個URL可以代表多個不同的頁面,如編寫帶有日期的URL,根據前面編寫方式,按照一年計算,需要開發者編寫365個
不同的URL才	能實現,這種做法顯然不可取,因此Django在編寫URL時,需要對URL設置變量,使URL具有多樣性。
        
    URL的變量類型有字符類型、整型、slug和uuid,最爲常見的是字符型和整型。

	● 字符類型:匹配任何非空字符串,不含斜槓。沒有指定類型時,默認該類型
	● 整型:	 匹配0和正整數
	● slug:	 可以理解爲註釋、後綴或附屬等概念
	● uuid:	 匹配一個uuid格式的對象
	UUID 是 通用唯一識別碼(Universally Unique Identifier)的縮寫,是一種軟件建構的標準
	
  根據上述變量類型,在index的urls.py裏添加帶有字符類型、整型和slug的URL地址信息,代碼如下:

在這裏插入圖片描述

在URL中使用變量符號“<>”可以爲URL設置變量。括號裏面以冒號劃分爲兩部分,前面代表變量類型,後面代表變量名稱,變量名稱可自定義。
上述URL中設置三個變量值,分別是<year>、<int:month>、<slug:day>,變量說明如下:

● <year>		變量名爲year,數據格式爲字符類型,與<str:year>含義一樣
● <int:month>	變量名爲month,數據格式爲整型
● <slug:day>	變量名爲day,數據類型爲slug
然後在views.py中編寫視圖函數mydate的處理方法,代碼如下:

在這裏插入圖片描述

視圖函數mydate有四個函數參數,其中year、month和day來自URL的變量。URL的變量和試圖函數要一一對應,如果試圖函數的參數與URL變量對
應不上會拋出異常。項目啓動如下:

在這裏插入圖片描述

設置name

除了URL裏面設置變量之外,Django還可以對URL進行重命名。在index的urls.py、views.py和模板myyear.html中添加如下代碼:
● urls.py

在這裏插入圖片描述

● views.py

在這裏插入圖片描述

● 創建templates文件夾,並且在templates文件夾中添加myyear.html文件

在這裏插入圖片描述

上述代碼分別從URL、視圖函數、HTML模板來說明name具體作用:

1. 用戶訪問URL,項目根據URL信息選擇試圖函數myyear處理,並且將URL命名myyear

2. 視圖函數myyear將模板myyeear.html作爲響應內容弄個並且生成相應的網頁返回給用戶

3. 在模板myyear.html中分別設置兩個標籤a,雖然兩個標籤a的href屬性值的寫法有所不同,但實質兩者都指向名爲myyeear的URL地址信息。

4. 第二個標籤a的href爲{% url 'myyear' 2018%},這是Django的模板語法,模板語法以{% %}表示。

其中,url ‘myyear' 是將命名爲myyear的URL地址信息作爲href屬性值
運行結果如下:	

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章