没有电子邮件后端的django测试

时间:2016-08-22 18:33:09

标签: python django email testing

我想在我的Django应用程序中测试一个视图。所以我打开python shell键入python,然后输入from django.test.utils import setup_test_environment。它似乎工作正常。然后我输入setup_test_environment(),然后输入

  

django.core.exceptions.ImproperlyConfigured:请求的设置   EMAIL_BACKEND,但未配置设置。你必须定义   环境变量DJANGO_SETTINGS_MODULE或调用   在访问设置之前进行settings.configure()。

我不需要在测试中发送邮件,为什么Django要我配置电子邮件后端?

我们是否被迫为任何测试配置电子邮件后端,即使它不需要它?

1 个答案:

答案 0 :(得分:0)

您不需要定义EMAIL_BACKEND设置(它有默认设置),但您需要定义设置模块。您可以在shell环境中设置DJANGO_SETTINGS_MODULE,或将os.environ['DJANGO_SETTINGS_MODULE']设置为指向您的设置模块。

请注意,调用python manage.py shell会为您设置Django环境,其中包括设置DJANGO_SETTINGS_MODULE和调用django.setup()。您仍然需要调用setup_test_environment()在python shell中手动运行测试。