我想在我的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要我配置电子邮件后端?
我们是否被迫为任何测试配置电子邮件后端,即使它不需要它?
答案 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中手动运行测试。