Django по-прежнему работает нормально, даже когда DEBUG=False в settings.py
В settings.py для DEBUG установлено значение True. Но когда мы переносим его в продакшн, мы должны установить DEBUG=False.
Поэтому в локальной среде я изменил значение DEBUG=False. Но все равно мое приложение работает нормально даже с этими настройками. Обычно, когда мы меняем DEBUG на false, мы должны получить некоторые проблемы, такие как 500 или 404 ошибка, но в моем случае это не так. Я обратился к этому """ https://stackoverflow.com/questions/38617046/django-debug-false-still-runs-in-debug-mode/47266619"", но это мне не очень помогло.
Пожалуйста, дайте мне знать, если я что-то неправильно понял или упустил.
Ниже приведен небольшой фрагмент кода в файле settings.py
import os
BASE_DIR =
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY = os.environ["DJANGO_SECRET_KEY"]'
DEBUG = False
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
'MyApp',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'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',
],
},
},
]
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',
]
Пожалуйста, дайте мне знать, если мне нужно предоставить больше деталей.
Цель DEBUG - контролировать, что происходит, когда приложение сталкивается с ошибкой.
Если это произойдет и DEBUG будет равен true, то страница ошибки будет содержать отладочную информацию, полезную для разработчиков.
Но вы не хотите, чтобы эта информация показывалась реальным пользователям, поэтому DEBUG должен быть false при развертывании на производстве.
Установка DEBUG в false не вызывает ошибок, как вы, похоже, думаете.
Я обнаружил, что после изменения DEBUG=FALSE (раньше я этого не замечал) он выдает ошибку 500. Теперь, пожалуйста, дайте мне знать, что может быть причиной этой ошибки, посмотрев приведенный выше код