Django Path轉換器自定義及正則程式碼例項
阿新 • • 發佈:2020-06-01
Django預設Path轉換器
- str:匹配任何非空字串,但不含斜槓/,如果你沒有專門指定轉換器,那麼這個是預設使用的;
- int:匹配0和正整數,返回一個int型別
- slug:可理解為註釋、字尾、附屬等概念,是url拖在最後的一部分解釋性字元。該轉換器匹配任何ASCII字元以及連線符和下劃線,比如' building-your-1st-django-site‘;
- uuid:匹配一個uuid格式的物件。為了防止衝突,規定必須使用破折號,所有字母必須小寫,例如'075194d3-6885-417e-a8a8-6c931e272f00‘ 。返回一個UUID物件;
- path:匹配任何非空字串,重點是可以包含路徑分隔符'/‘。這個轉換器可以幫助你匹配整個url而不是一段一段的url字串
step1 . 在urls.py 的同級目錄下,建立converters.py
class Year_Converters(): regex = '\d{4}' def to_python(self,value): return int(value) def to_url(self,value): # return ;04d' % value return str(value)
step 2 註冊converters 在同級urls,py 檔案
from django.urls import path,register_converter from . import views from . import converters #註冊轉換器 register_converter(converters.Year_Converters,'year') urlpatterns = [ path('show1/<year:arg>',views.show1),]
正則 在urls,py 檔案中,注意引數需要加(),這裡的引數是元組
from django.urls import re_path urlpatterns = [ re_path('article/(\d+)/',views.index),]
正則關鍵字
re_path(r'^show3/(?P<id>\d{4})/',views.show3)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。