Django Path轉換器自定義及正則代碼實例
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_converterfrom . import viewsfrom . import converters #注冊轉換器 register_converter(converters.Year_Converters,’year’) urlpatterns = [ path(’show1/<year:arg>’, views.show1),]
正則 在urls,py 文件中,注意參數需要加() ,這里的參數是元組
from django.urls import re_pathurlpatterns = [ re_path(’article/(d+)/’, views.index),]
正則關鍵字
re_path(r’^show3/(?P<id>d{4})/’, views.show3)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
