gpt4 book ai didi

python - 在 Django 上的测试执行中避免将 django.core.mail.outbox 作为电子邮件后端

转载 作者:太空狗 更新时间:2023-10-30 02:57:47 26 4
gpt4 key购买 nike

在我的 settings.py 中,我有关于我的 smtp 电子邮件后端的配置:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.zoho.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'user@domain.com'
EMAIL_HOST_PASSWORD = 'user'
DEFAULT_FROM_EMAIL = 'contact@domain.com'

当我在开发期间运行服务器时(即 python manage.py runserver),电子邮件正常发送。但是当我运行我的验收测试(即 python manage.py test functional_tests)时,没有发送电子邮件。

阅读文档,我找到了 here Django 假设在测试期间为虚拟框发送电子邮件是一件好事,但文档没有告诉我如何禁用此功能(我确实想在运行测试时通过 smtp 发送电子邮件)。

有人知道在运行测试时我必须做什么才能通过 smtp 发送电子邮件吗?

提前致谢。

最佳答案

使用 override_settings装饰器。

from django.test import override_settings

class TestView(TestCase):
@override_settings(EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend')
def test_view(self):
...

关于python - 在 Django 上的测试执行中避免将 django.core.mail.outbox 作为电子邮件后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35958467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com