Django 1.11 使用正则表达式来检查适当的 url。例如
url(r'^(?P<year>[0-9]{4})/$', views.abc),
在这里我可以检查我的年份是 4 位数。
引入的新方式就像
path('<int:year>/', views.abc),
是否有使用限制的默认方法path()
?
Django 1.11 使用正则表达式来检查适当的 url。例如
url(r'^(?P<year>[0-9]{4})/$', views.abc),
在这里我可以检查我的年份是 4 位数。
引入的新方式就像
path('<int:year>/', views.abc),
是否有使用限制的默认方法path()
?
直接取自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),
...
]