Django DEBUG False не работает в производственной среде
Я новичок в мире Django и Python, в настоящее время я работаю над сайтом на Dajngo, который размещен на виртуальной машине Ubuntu20.04. После переноса сайта на продакшн, я заметил, что, хотя DEBUG установлен на False в настройках продакшена. Я все еще вижу ошибки Django DEBUG, как если бы DEBUG был установлен на True .
Когда я запускаю команду python manage.py runserver на виртуальной машине, я получаю следующую ошибку.
CommandError: Вы должны установить settings.ALLOWED_HOSTS, если DEBUG равен False.
Структура папки
.
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-310.pyc
│ ├── urls.cpython-310.pyc
│ ├── views.cpython-310.pyc
│ └── wsgi.cpython-310.pyc
├── settings
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-310.pyc
│ │ ├── base.cpython-310.pyc
│ │ ├── local.cpython-310.pyc
│ │ └── production.cpython-310.pyc
│ ├── base.py
│ ├── local.py
│ └── production.py
base.py (Общие настройки)
production.py
from AssaySite.settings.base import *
DEBUG = False
ALLOWED_HOSTS = [
'www.exampl.com',
'example.com',
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'abssaysitedb',
'USER': 'admingres',
'PASSWORD': 'password',
'HOST': '192.168.1.201',
'PORT': '8686',
}
}
local.py
from AssaySite.settings.base import *
DEBUG = False
ALLOWED_HOSTS = [
'127.0.0.1',
'localhost'
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'admin',
'HOST': 'localhost',
'PORT': '5432',
}
}
Я внимательно просмотрел код настроек, чтобы проверить, не является ли DEBUG истинным в какой-либо части моего кода, но все выглядит хорошо. Пожалуйста, помогите
Вам необходима переменная ALLOWED_HOSTS в settings.py.
ALLOWED_HOSTS = ['your_domain.com','www.your_domain.com']
или, это разрешит весь домен, что не рекомендуется
ALLOWED_HOSTS = ['*']
У меня та же проблема, но я использую файл .env для управления настройками.
settings.py # мой файл настроек
DEBUG = env('DEBUG')
.env # мой файл .env
DEBUG=False
приложение работает точно так, как и предполагалось, за исключением отладочной части, кстати, приложение размещено на ubuntu 20.04