我的 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产生此错误。.有人建议!!
答案 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')