Django 1.11使用正则表达式来检查适当的url。例如
url(r'^(?P<year>[0-9]{4})/$', views.abc),
我可以查看我的年份是4位数。
引入的新方式就像
path('<int:year>/', views.abc),
是否有使用path()
使用限制的默认方式?
答案 0 :(得分:1)
直接从Django Docs
取消您可以定义自定义转换器:
class FourDigitYearConverter:
regex = '[0-9]{4}'
def to_python(self, value):
return int(value)
def to_url(self, value):
return '%04d' % value
然后:
from django.urls import register_converter, path
from . import converters, views
register_converter(converters.FourDigitYearConverter, 'yyyy')
urlpatterns = [
path('articles/2003/', views.special_case_2003),
path('articles/<yyyy:year>/', views.year_archive),
...
]