django-无效语法regex

django-无效语法regex,django,Django,我正在努力实现这个目标 错误 这是我建议的URL.py from django.urls import include, path, re_path urlpatterns = [ re_path(r'^auth/registration/account-confirm-email/(?P<key>[\s\d\w().+-_',:&]+)/$', TemplateView.as_view(), name = 'account_confirm_email'),

我正在努力实现这个目标 错误

这是我建议的URL.py

from django.urls import include, path, re_path

urlpatterns = [
    re_path(r'^auth/registration/account-confirm-email/(?P<key>[\s\d\w().+-_',:&]+)/$', TemplateView.as_view(), name = 'account_confirm_email'),
    path('auth/registration/', include('dj_rest_auth.registration.urls')),
]
从django.url导入包括、路径、重新路径
URL模式=[
重新路径(r'^auth/registration/account confirm email/(?P[\s\d\w().+-',:&]+)/$,TemplateView.as_view(),name='account_confirm_email'),
路径('auth/registration/',包括('dj_rest_auth.registration.url'),
]
但我得到了这个错误

re_path(r'^registration/account-confirm-email/(?P<key>[\s\d\w().+-_',:&]+)/$', TemplateView.as_view(), name = 'account_confirm_email'),
                                                                     ^
SyntaxError: invalid syntax
re_路径(r'^registration/account confirm email/(?P[\s\d\w().+-',:&]+)/$,TemplateView.as_view(),name='account_confirm_email'),
^
SyntaxError:无效语法

你知道我会错过什么吗?谢谢

语法突出显示已经说明了问题所在,您的正则表达式中存在一个相当大的错误,它过早地结束了正则表达式。您可以使用双引号修复此问题:

从django.url导入包括、路径、重新路径

urlpatterns = [
    re_path(
        r"^registration/account-confirm-email/(?P<key>[\s\d\w().+-_',: & ]+)/$",
        TemplateView.as_view(),
        name='account_confirm_email'
    ),
    path('auth/registration/', include('dj_rest_auth.registration.urls')),
]

AS,也许你也可以简化正则表达式到<代码>(.p+),这当然会改变语义。

他们也可以考虑使用一个更简单的正则表达式用于“密钥”组。我怀疑
(?P.+)
可能工作正常。
urlpatterns = [
    re_path(
        r"^registration/account-confirm-email/(?P<key>[\s\d\w().+-_',: & ]+)/$",
        TemplateView.as_view(),
        name='account_confirm_email'
    ),
    path('auth/registration/', include('dj_rest_auth.registration.urls')),
]
urlpatterns = [
    re_path(
        r"^registration/account-confirm-email/(?P<key>[\s\d\w().+-_',: & ]+)/$",
        TemplateView.as_view(template_name='some_template.html'),
        name='account_confirm_email'
    ),
    path('auth/registration/', include('dj_rest_auth.registration.urls')),
]