所以我在Django 2.0中创建了一个新站点,并且正在按照本教程制作一个带有激活电子邮件的用户注册表单,而我对新Django 2的理解还不够,所以问的是Django 2等价物是什么这个网址
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'),
答案 0 :(得分:4)
您的路径没有直接转换,您可以使用转换令牌的文档中所述的转换器。这里是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 path, register_converter
from . import converters, views
register_converter(converters.FourDigitYearConverter, 'yyyy')
urlpatterns = [
path('articles/2003/', views.special_case_2003),
path('articles/<yyyy:year>/', views.year_archive),
...
]
或者你可以像现在一样正确使用路径:
from django.urls import path, re_path
from . import views
urlpatterns = [
path('articles/2003/', views.special_case_2003),
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')
]
我会坚持使用re_path使用正则表达式,因为你知道它的工作原理已经完成了。
以下是文档的链接: https://docs.djangoproject.com/en/2.0/topics/http/urls/