错误regexp Django URL

时间:2018-06-26 17:38:48

标签: regex django

我的 urls.py

from django.urls import path
from home.views import homePageView, activateUser

urlpatterns = [
    path('',homePageView.as_view(),name='home'),
    path('activate/([a-zA-Z0-9]{15})/$', activateUser.activate, name='activate')
]

浏览器上的网址:

http://127.0.0.1:8000/activate/9Eri2DOMYpwI5p8/

错误:

  Using the URLconf defined in cryptoassistant.urls, Django tried these URL patterns, in this order:

    admin/ [name='home'] activate/([a-zA-Z0-9]{15})/$ [name='activate'] activate/([a-zA-Z0-9]{15})/$ [name='activate'] The current path, activate/9Eri2DOMYpwI5p8/, didn't match any of these.

django产生此错误。.有人建议!!

2 个答案:

答案 0 :(得分:0)

您不需要将正则表达式与Django 2中的path一起升级时使用的url函数一起使用。

替换

path('activate/([a-zA-Z0-9]{15})/$', activateUser.activate, name='activate')

path('activate/<slug:slug>)/$', activateUser.activate, name='activate')

如果要使用其他名称来命名参数,请将第二个子段改为该名称。

示例

path('activate/<slug:other_name>/$', activateUser.activate, name='activate')

答案 1 :(得分:0)

您(或我;))可以使用此功能:

from django.urls import path, re_path
re_path('activate/([a-zA-Z0-9]+)/$', activateUser.activate, name='activate')