Ошибка сервера django (500) при DEBUG=False

Это base.py файл

from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent.parent.parent


SECRET_KEY = 'h@1lneuTr@lt1P - Holla!!! this is something crazy, $2423$#@$#@E@e#R3\e['

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


INSTALLED_APPS = [
    # typical django code...

MIDDLEWARE = [
    # typical django code...
]

ROOT_URLCONF = 'neutraltip.urls'

TEMPLATES = [
    # typical django code...
]

WSGI_APPLICATION = 'neutraltip.wsgi.application'

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

AUTH_PASSWORD_VALIDATORS = [
    # typical django code...
]

STATIC_URL = '/static/'

# Static settings
STATICFILES_DIRS = [
    BASE_DIR / 'static',
]


# Media settings
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'


DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

Это production.py

from .base import *

import environ
import django_heroku

env = environ.Env(
    DEBUG=(bool, False),
)

SECRET_KEY = 'lol'

# right now for convenience I've hard-coded these
# despite having environ package
DEBUG = False
ALLOWED_HOSTS = ['*']

MIDDLEWARE.insert(1, 'whitenoise.middleware.WhiteNoiseMiddleware')

DATABASES['default']['CONN_MAX_AGE'] = 60

STATIC_ROOT = BASE_DIR / 'staticfiles'

STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage'

# Activate Django-Heroku.
django_heroku.settings(locals())

Я переименовал оригинальную settings.py в base.py и расширил ее до production.py. А также обновил manage.py, wsgi.py и asgi.py.
В основном следуя этому подходу -> https://simpleisbetterthancomplex.com/tips/2017/07/03/django-tip-20-working-with-multiple-settings-modules.html

Все выглядит просто прекрасно для меня

скриншот терминала - ошибка запроса 500

Этот код выдает Ошибку сервера (500).
Проблема не в ALLOWED_HOSTS, это точно.

Многие люди сталкиваются с той же проблемой и пока не получили адекватного ответа!

Пожалуйста, помогите мне с ответом с объяснением.

Вы можете записать все ошибки в файл с помощью нижеприведенной команды, и она будет записывать их даже тогда, когда DEBUG=False


Обновление: Попробуйте это.

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'formatters': {
        'verbose': {
            'format': '[contactor] %(levelname)s %(asctime)s %(message)s'
        },
    },
    'handlers': {
        # Send all messages to console
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
        },
        # Send info messages to syslog
        'syslog':{
            'level':'INFO',
            'class': 'logging.handlers.SysLogHandler',
            'facility': SysLogHandler.LOG_LOCAL2,
            'address': '/dev/log',
            'formatter': 'verbose',
        },
        # Warning messages are sent to admin emails
        'mail_admins': {
            'level': 'WARNING',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler',
        },
        # critical errors are logged to sentry
        'sentry': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'raven.contrib.django.handlers.SentryHandler',
        },
    },
    'loggers': {
        # This is the "catch all" logger
        '': {
            'handlers': ['console', 'syslog', 'mail_admins', 'sentry'],
            'level': 'DEBUG',
            'propagate': False,
        },
    }
}
Вернуться на верх