1. 程式人生 > 實用技巧 >Python Web開發學習-Django(4)URL配置

Python Web開發學習-Django(4)URL配置

什麼是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

只要埠後面輸入符合規則的路徑,就是返回對應的檢視介面。

關注個人公眾號:測試開發進階之路