path(router, view , kwargs, name)
`path('detail/<id>', view)`, id 默认的类型是 str
可以使用类型转换器,转换参数的类型
uuid: 只能匹配 UUID格式的字符串
class YYYYConverter:
regex = "(19|20)\d{2}"
def to_python(self, value):
return int(value)
def to_url(self, value):
return str(value)
urls.py
中注册类型转换器 from django.urls.converters import register_converter
from . import converters
register_converter( converters.YYYYConverter , 'yyyy' )
在路由管理中使用 自定义的类型转换器
path(‘<yyyy:year>‘, ...)
如果使用正则路由,则不能使用 path 函数
要想使用正则路由 ,则需要使用 url 函数 或者 re_path 函数
django.urls import re_path
django.conf.urls import url
url(r"正则表达式", 函数)
一般匹配简单的操作,复杂的操作,推荐使用
url(‘index/(?P<id>[0-9]+)‘, view)
?
?
原文:https://www.cnblogs.com/hylone/p/11848276.html