【发布时间】:2020-08-17 13:06:07
【问题描述】:
我对 django 非常陌生,以前使用以下方式将电子邮件发送到我的终端:
python -m smtpd -n -c DebuggingServer localhost:1025
我正在尝试访问 PasswordResetConfirmView 模板,但无法访问该 url,因为它没有出现在我的终端中。我相信它现在没有发送电子邮件。
这是我之前在设置中使用的:
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
这是我的网址:
urlpatterns = [
# Homepage
path('', views.home, name='home'),
# Login/Logout
path('login/', LoginView.as_view(template_name='accounts/login.html'), name='login'),
path('logout/', LogoutView.as_view(template_name='accounts/logout.html'), name='logout'),
# Register
path('register/', views.register, name='register'),
# Profile
path('profile/', views.view_profile, name='view_profile'),
# Edit profile
path('profile/edit/', views.edit_profile, name='edit_profile'),
# Edit password
path('change-password/', views.change_password, name='change_password'),
# Password reset
path('reset-password/', PasswordResetView.as_view(template_name='accounts/reset_password.html'),
name='reset_password'),
path('reset-password/done/', PasswordResetDoneView.as_view(template_name= 'accounts/reset_password_done.html'),
name='password_reset_done'),
path('reset-password/confirm/<uidb64>/<token>/', PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
path('reset-password/complete/', PasswordResetCompleteView.as_view(template_name= 'accounts/reset_password_complete.html'),
name='password_reset_complete')
]
还有一个 change_password 视图:
def change_password(request):
if request.method == 'POST':
form = PasswordChangeForm(data=request.POST, user= request.user)
if form.is_valid():
form.save()
update_session_auth_hash(request, form.user)
return redirect(reverse('view_profile'))
else:
return redirect(reverse('change_password'))
else:
form = PasswordChangeForm(user= request.user)
args = {'form' : form}
return render(request, 'accounts/change_password.html', args)
我不知道为什么这会停止发送电子邮件,并且我在任何页面上都没有收到任何错误。有什么想法吗?
【问题讨论】:
标签: python django email django-views