The error log that pythonanywhere prints
!2020-03-29 21:29:25,095: Error running WSGI application 2020-03-29 21:29:25,095: django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty. 2020-03-29 21:29:25,095: File "/var/www/relizerel_pythonanywhere_com_wsgi.py", line 22, in 2020-03-29 21:29:25,095: application = get_wsgi_application()
!2020-03-29 21:29:25,095: File "/usr/lib/python3.8/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application 2020-03-29 21:29:25,095: django.setup(set_prefix=False)
!2020-03-29 21:29:25,096: File "/usr/lib/python3.8/site-packages/django/init.py", line 19, in setup 2020-03-29 21:29:25,096: configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
!2020-03-29 21:29:25,096: File "/usr/lib/python3.8/site-packages/django/conf/init.py", line 79, in getattr 2020-03-29 21:29:25,096: self._setup(name)
!2020-03-29 21:29:25,096: File "/usr/lib/python3.8/site-packages/django/conf/init.py", line 66, in _setup 2020-03-29 21:29:25,096: self._wrapped = Settings(settings_module)
!2020-03-29 21:29:25,097: File "/usr/lib/python3.8/site-packages/django/conf/init.py", line 176, in init 2020-03-29 21:29:25,097: raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
My settings.py file
"""
Django settings for myshop project.
Generated by 'django-admin startproject' using Django 2.2.7.
For more information on this file, see
https://docs.djangoproject.com/en/2.2/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.2/ref/settings/
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = *************
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['relizerel.pythonanywhere.com']
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'myshop.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'myshop.wsgi.application'
# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Password validation
# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/2.2/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/
STATIC_URL = '/static/'
# default static files settings for PythonAnywhere.
# see https://help.pythonanywhere.com/pages/DjangoStaticFiles for more info
MEDIA_ROOT = '/home/relizerel/myshop/media'
MEDIA_URL = '/media/'
STATIC_ROOT = '/home/relizerel/myshop/static'
STATIC_URL = '/static/'
My wsgi.py file
"""
WSGI config for myshop project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myshop.settings.dev")
application = get_wsgi_application()
I think the problem is in SECRET KEY, but in all files it is indicated.
What other data is needed to make it easier for you to give an answer?
I added Wagtail CMS after creating a standard web application. However, collectstatic, makemigrations and migrate did not return any errors
Link to my repository on GitHub: https://github.com/relizerel/myshopwt.git
Your django settings.py file has no SECRET_KEY
. You may have to define this as an environment variable or explicitly in your code depending on how your settings.py
is written.
As per your wsgi.py file, it is referring to myshop/settings/dev.py
. Make sure the SECRET_KEY
is in that settings file, or when running gunicorn (or whatever you use to deploy the server) that you set the environment variable DJANGO_SETTINGS_MODULE
to the actual settings file with the SECRET_KEY