Python 在django 2.1中将url正则表达式转换为路径 url(r'^activate/(?P[0-9A-Za-z_ \-])/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$, views.activate,name='activate'),

Python 在django 2.1中将url正则表达式转换为路径 url(r'^activate/(?P[0-9A-Za-z_ \-])/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$, views.activate,name='activate'),,python,django,django-urls,django-2.x,Python,Django,Django Urls,Django 2.x,我一直在做教程,但在django 2.1中,您必须使用路径,我如何转换为2.1 django兼容路径函数 是吗 url(r'^activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', views.activate, name='activate'), path('activate//',views.activate,name='activ

我一直在做教程,但在django 2.1中,您必须使用路径,我如何转换为2.1 django兼容路径函数

是吗

url(r'^activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
        views.activate, name='activate'),
path('activate//',views.activate,name='activate')
你也这样做吗

我一直在做教程,但在django 2.1中,您必须使用路径,我如何转换为2.1 django兼容路径函数

,在中,您可以使用或。此外,到今天为止,仍然支持,但将来可能会消失

re_path
实际上相当于旧的
url
,因此您可以这样写:

path('activate/<str:uidb64>/<uuid:token>/', views.activate, name='activate')
委员会:


不,您不必使用
路径
,但建议使用
重新路径
:答案很好,这就是我一直在寻找的-谢谢。
re_path(
    r'^activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
    views.activate,
    name='activate'
),
path(
    r'^activate/(<slug:uidb64>/<slug:token>/$',
    views.activate,
    name='activate'
),
class SlugConverter(StringConverter):
    regex = '[-a-zA-Z0-9_]+'