默认Path converter
Django2.0自带的PathConveter包括:
- str:匹配除了路径分隔符(/)之外的非空字符串,如果没有转换器,默认使用str作为转换器。
- int:匹配0及正整数。
- slug:匹配字母、数字以及横杠、下划线组成的字符串。
- uuid:匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
- path:匹配任何非空字符串,包含了路径分隔符(/)
自定义转换器:
1.创建一个py文件urlconvert.py
class MonConvert: # 自定义名 regex = 'd*' # 正则规则 # 【下面两个必须这样写!!!!!】 def to_python(self, value): return int(value) def to_url(self, value): # 反向解析 return f'{value}04d'
2.在urls.py中注册第一步的路径方法
# 要引入注册自定义匹配膜拜模块 from django.urls import register_converter from app01.conveter import MonConvert register_converter(MonConvert, 'mm') # mm取的名字,无所谓,后面引用这个名字匹配正则即可 urlpatterns = [ path('articles/<mm:year>/', views.路径), ... ]