问题描述
早上好,
我想测试 Django 是否正确发送了一封电子邮件以重置密码,因为我已经自定义了路由。但是我得到一个 <HttpResponseForbidden status_code=403,"text/html">
并且在我测试它时没有实现电子邮件。
以下是主要功能:
- 网址:
path('password_reset/',auth_views.PasswordResetView.as_view(template_name="customer/password_reset_form.html",email_template_name="customer/password_reset_e-mail.html",success_url="done/"),
- 测试方法:
from django.contrib.auth import views as auth_views
from django.test import RequestFactory
from django.contrib.auth.models import AnonymousUser
class PasswordResetTest(TestCase):
def setUp(self):
self.factory = RequestFactory()
self.user = User.objects.create_user(
username="user",email="[email protected]",password="pwd")
def test_send_mail(self):
request = self.factory.post('/customer/password_reset',{'email': '[email protected]'})
response = auth_views.PasswordResetView.as_view()(request)
self.assertTemplateUsed('password_reset_e-mail.html')
print(response)
self.assertEqual(len(mail.outBox),1)
通过打印命令,我可以看到错误 403 并且发件箱为空。 我只是找不到合适的文档来对 Django 的这一部分进行测试。
感谢您的支持。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)