'is there any solution to this django.core.exceptions.ImproperlyConfigured: Set the EMAIL_HOST environment variable [duplicate]
I'm tyring to deploy my app to heroku.
after successfully running git push heroku main
i'm tyring to run the command
heroku run python manage.py makemigrations
and i'm getting this error
File "/app/.heroku/python/lib/python3.10/site-packages/environ/environ.py", line 367, in get_value
value = self.ENVIRON[var]
File "/app/.heroku/python/lib/python3.10/os.py", line 679, in __getitem__
raise KeyError(key) from None
KeyError: 'EMAIL_HOST'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/manage.py", line 22, in <module>
main()
File "/app/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/base.py", line 393, in execute
self.check()
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/base.py", line 419, in check
all_issues = checks.run_checks(
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/checks/registry.py", line 76, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/checks/urls.py", line 35, in check_url_namespaces_unique
if not getattr(settings, 'ROOT_URLCONF', None):
File "/app/.heroku/python/lib/python3.10/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "/app/.heroku/python/lib/python3.10/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "/app/.heroku/python/lib/python3.10/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/app/.heroku/python/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/app/blogpost/settings.py", line 163, in <module>
EMAIL_HOST = env('EMAIL_HOST')
File "/app/.heroku/python/lib/python3.10/site-packages/environ/environ.py", line 175, in __call__
return self.get_value(
File "/app/.heroku/python/lib/python3.10/site-packages/environ/environ.py", line 371, in get_value
raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured: Set the EMAIL_HOST environment variable
my settings.py looks this
import environ
from pathlib import Path
import os
import django_heroku
import dj_database_url
BASE_DIR = Path(__file__).resolve().parent.parent
DEBUG = True
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': dj_database_url.config()
}
env = environ.Env()
environ.Env.read_env()
# Bottom of the file
EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST= env('EMAIL_HOST')
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = env('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = env('EMAIL_HOST_PASSWORD')
# Custom setting. To email
RECIPIENT_ADDRESS = env('RECIPIENT_ADDRESS')
django_heroku.settings(locals())
my .env file looks like this. and it's inside the folder that contains settings.py
EMAIL_HOST=jfjfjfjfjfjhdhd
EMAIL_HOST_USER=jdjdjdjdj
EMAIL_HOST_PASSWORD=kskskkssjsjss
RECIPIENT_ADDRESS=kdkdjdjdjdjdjd
Lastly, when I clicked on my deployed app link, i'm getting this error
Application error
An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command
heroku logs --tail
What's the possible reasonson for this, could it because I haven't done the migrated to heroku?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
