0

Django 1.11 使用正则表达式来检查适当的 url。例如

url(r'^(?P<year>[0-9]{4})/$', views.abc),

在这里我可以检查我的年份是 4 位数。

引入的新方式就像

path('<int:year>/', views.abc),

是否有使用限制的默认方法path()

4

1 回答 1

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),
    ...
]
于 2017-12-15T08:58:53.127 回答