2016-08-22 5 views
0

私のDjangoアプリケーションでビューをテストしたいと思います。ですから、pythonと入力してPythonシェルを開き、次に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設定を定義する必要はありませんが(デフォルト設定)、設定モジュールを定義する必要があります。シェル環境でDJANGO_SETTINGS_MODULEを設定するか、os.environ['DJANGO_SETTINGS_MODULE']を設定モジュールを指すように設定します。

python manage.py shellを呼び出すと、DJANGO_SETTINGS_MODULEを設定し、django.setup()を呼び出すことを含むDjango環境が設定されることに注意してください。手動でPythonシェルでテストを実行するには、依然としてsetup_test_environment()に電話する必要があります。

関連する問題