未找到“account_email_verification_sent”的反向。 “account_email_verification_sent”不是有效的视图函数或模式名称

Posted

技术标签:

【中文标题】未找到“account_email_verification_sent”的反向。 “account_email_verification_sent”不是有效的视图函数或模式名称【英文标题】:Reverse for 'account_email_verification_sent' not found. 'account_email_verification_sent' is not a valid view function or pattern name 【发布时间】:2018-07-01 15:00:28 【问题描述】:

我正在尝试在我的项目中使用 allauth 和 rest-auth 并尝试使用 allauth 中的内置函数来进行电子邮件验证,但这是我得到的:

这是我的代码

settings.py

ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_EMAIL_REQUIRED = True

urls.py

urlpatterns = [
re_path(r'^', include('rest_auth.urls')),
re_path(r'^registration/', include('rest_auth.registration.urls')),
]

【问题讨论】:

你读过django-rest-auth.readthedocs.io/en/latest/…吗? 抱歉,请参阅github.com/Tivix/django-rest-auth/issues/… 及相关内容。 rest_auth.urlsrest_auth.registration.urls 中均未包含命名的 url “account_email_verification_sent”。 你想包含django_allauthaccount.urls 【参考方案1】:

我有同样的问题,但我已经设置了电子邮件确认的 URL,但我忘记了 name 参数,它是强制性的

from django.conf.urls import url, include

from dj_rest_auth.registration.views import VerifyEmailView

urlpatterns = [
    url('auth/', include('dj_rest_auth.urls')),
    url('auth/registration/', include('dj_rest_auth.registration.urls')),
    url('auth/account-confirm-email/', VerifyEmailView.as_view(), name='account_email_verification_sent'),    
]
´´´

【讨论】:

【参考方案2】:

我找到了解决方案,我必须添加 URL 以便能够向后端发出发布请求以发送电子邮件,然后是带有正则表达式的 URL,该 URL 具有将验证帐户和 URL 的令牌,并添加 URL 以使用名称登录account_login 和使用名称 account_signup 注册的 URL,如下所示:

from rest_auth.registration.views import VerifyEmailView, RegisterView


urlpatterns = [
path('', include('rest_auth.urls')),
path('login/', LoginView.as_view(), name='account_login'),
path('registration/', include('rest_auth.registration.urls')),
path('registration/', RegisterView.as_view(), name='account_signup'),
re_path(r'^account-confirm-email/', VerifyEmailView.as_view(),
     name='account_email_verification_sent'),
re_path(r'^account-confirm-email/(?P<key>[-:\w]+)/$', VerifyEmailView.as_view(),
     name='account_confirm_email'),

]

【讨论】:

以上是关于未找到“account_email_verification_sent”的反向。 “account_email_verification_sent”不是有效的视图函数或模式名称的主要内容,如果未能解决你的问题,请参考以下文章

bash: make: 未找到命令

未找到 ios 开发证书并且未找到未过期的配置文件

为啥linux中总有未找到命令?

UIPrintInteractionController - 未找到支持文档格式的属性或未找到支持的格式

kali 报错 bash:pig.py:未找到的命令

DJANGO - 如果未找到数据,如何显示“未找到您的搜索”