将旧的 Django URL 更改为新路径
Changing a old Django URL to the new paths
所以我在 Django 2.0 中创建了一个新站点,并按照本教程制作了一个带有激活电子邮件的用户注册表单,我对新的 Django 2 的理解还不够好,所以我问 Django 是什么2 相当于这个 URL
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'),
您的路径没有直接转换,您可以使用文档中所述的转换器来转换令牌。这是文档中的示例:
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 的正则表达式,因为你知道它有效并且已经完成。
这是文档的 link:
https://docs.djangoproject.com/en/2.0/topics/http/urls/
所以我在 Django 2.0 中创建了一个新站点,并按照本教程制作了一个带有激活电子邮件的用户注册表单,我对新的 Django 2 的理解还不够好,所以我问 Django 是什么2 相当于这个 URL
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'),
您的路径没有直接转换,您可以使用文档中所述的转换器来转换令牌。这是文档中的示例:
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 的正则表达式,因为你知道它有效并且已经完成。
这是文档的 link: https://docs.djangoproject.com/en/2.0/topics/http/urls/