2016-08-22 54 views
0

我想在我的Django應用程序中測試視圖。所以我通過輸入python打開Python shell,然後輸入from django.test.utils import setup_test_environment。它似乎工作正常。然後,我鍵入setup_test_environment()和它說沒有電子郵件後臺django測試後端

django.core.exceptions.ImproperlyConfigured:要求設置 EMAIL_BACKEND,但沒有配置設置。在訪問設置之前,您必須定義環境變量DJANGO_SETTINGS_MODULE的 或調用 settings.configure()。

我不需要在測試中發送郵件,那麼爲什麼Django要我配置電子郵件後端?

即使不需要它,我們是否被迫爲任何測試配置電子郵件後端?

回答

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中運行測試。