TemplateDoesNotExist 在 /account/password_reset_confirm/MQ/set-password/registrationpassword_reset_co
Posted
技术标签:
【中文标题】TemplateDoesNotExist 在 /account/password_reset_confirm/MQ/set-password/registrationpassword_reset_confirm.html【英文标题】:TemplateDoesNotExist at /account/password_reset_confirm/MQ/set-password/ registrationpassword_reset_confirm.html 【发布时间】:2021-05-12 16:52:01 【问题描述】:我正在使用 Django 身份验证系统来重置用户密码。我创建了一个名为 account 的应用,在 urls.py 模块中添加了以下代码:
from django.urls import path, include
from django.contrib.auth import views as auth_views
from . import views
urlpatterns=[
path('password_reset/',
auth_views.PasswordResetView.as_view(),
name='password_reset'),
path('password_reset/done/',
auth_views.PasswordResetDoneView.as_view(),
name='password_reset_done'),
path('password_reset_confirm/<uidb64>/<token>/',
auth_views.PasswordResetConfirmView.as_view(
template_name='registration/password_reset_confirm.html'),
name='password_reset_confirm'),
path('reset/done/',
auth_views.PasswordResetCompleteView.as_view(),
name='password_reset_complete'),
]
我在应用的模板/注册库中创建了所有需要的模板: password_reset_form.html、password_reset_done.html、password_reset_confirm.html、password_reset_complete.html、
我还将电子邮件设置添加到我的项目中:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '********'
EMAIL_HOST_PASSWORD = '**********'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
我运行服务器,在密码重置页面上输入验证用户的电子邮件,之后,我在收件箱中收到密码重置链接,但是当我点击它时,会发生 TemplateDoesNotExist 异常。
【问题讨论】:
我不确定。但是尝试将模板重命名为模板。 抱歉,我拼错了那个模板,我的应用程序模板库中有 's'。@Biplove Lamichane 我删除了路径视图模板,'template_name='registration/password_reset_confirm.html'),',然后确认密码链接将带我到 Django 管理页面进行密码重置确认,确保它有效但我不希望这样,这就是我设置密码重置确认模板的原因。 我在 YouTube 上观看了 Corey Schafer 的全功能 Web 应用第 12 部分视频 - 电子邮件和密码重置 youtube.com/… 显示你的 settings.py 模板 【参考方案1】:我在https://docs.djangoproject.com/en/3.1/topics/auth/default/#built-in-auth-views 阅读了使用 Django 身份验证系统的 Django 文档。 然后我把模板名password_reset_confirm.html改成password-reset-confirm.html,不知怎么的!
【讨论】:
【参考方案2】:“注册”是您放置所有模板文件的文件夹的名称吗?如果是,所有的 as_view()
都应该在其中包含 template_name 例如auth_views.PasswordResetView.as_view(template_name='registration/password_reset_form.html'), name='password_reset')
【讨论】:
以上是关于TemplateDoesNotExist 在 /account/password_reset_confirm/MQ/set-password/registrationpassword_reset_co的主要内容,如果未能解决你的问题,请参考以下文章
TemplateDoesNotExist :在 Django 上未检测到模板
Django 管理站点:TemplateDoesNotExist?
TemplateDoesNotExist at / Home.html 异常类型:TemplateDoesNotExist