Python Web開發學習-Django(4)URL配置
阿新 • • 發佈:2020-11-23
什麼是urls.py
url.py本質上就是一個標準的python檔案,這個python檔案的作用就是再URL請求個處理該請求的檢視函式建立一個對應關係,簡單來說它就是一個url請求對映表。
urls.py是如何工作的
看一下前面HelloWorld專案中的urls.py檔案程式碼。
from django.contrib import admin from django.urls import path from .import views urlpatterns = [ path('', views.hello,name='hello'), path('admin/', admin.site.urls), ]
- from django.contrib import admin 匯入Django的預設管理站點admin
- from django.urls import path 匯入URL解析函式path()
- from .import views 匯入當前目錄中的檢視模組views(對應views.py檔案)
Urlpatterns變數包含可兩個URL對映:
path('',views.hello,name='hello'):
- 第一個引數為空字串,用於匹配只使用域名或IP地址的URL,如127.0.0.1:8000.
- 第二個引數”views.hello”設定了URL匹配時呼叫的檢視函式。
- 第三個引數"name=hello"將URL模式的名稱設定為hello.
path('admin/',admin.site.urls)
- 第一個引數為"admin/"用於匹配”域名或IP地址/admin/“格式的URL,如127.0.0.1:8000/admin/
path()和re_path()函式
path(routh,view,kwarge=None,name=None)
re_path(routh,view,kwarge=None,name=None)
- 引數routh為URL模式,用於匹配請求的URL中的‘路徑’
- 引數view用於設定路徑匹配時呼叫的檢視函式
- 可選引數kwarge用於設定傳遞給檢視函式的附加資料
- 可選引數name為URL模式命名。
URL正則表示式
常用的正則表示式
建立一個專案
views.py檔案程式碼:
from django.http import HttpResponse def CharInUrl(request): return HttpResponse("只包含了大小寫字母的URL") def NumberInUrl(request): return HttpResponse("只包含了數字的URL")
urls.py檔案程式碼:
from django.contrib import admin from django.urls import path from django.urls import re_path #因為使用的是正則表示式,所以,需要引用re_path from .import views urlpatterns = [ re_path(r'^[A-Za-z]+$',views.CharInUrl),#匹配大小寫字母組成的字串 re_path(r'^\d{2,}$',views.NumberInUrl),#匹配至少兩位數字組成的數字字串 path('admin/', admin.site.urls), ]
儲存之後,啟動專案,瀏覽器輸入:http://127.0.0.1:8000/abc
瀏覽器輸入:http://127.0.0.1:8000/1234
只要埠後面輸入符合規則的路徑,就是返回對應的檢視介面。
關注個人公眾號:測試開發進階之路