Django: неправильно сконфигурирован: параметр SECRET_KEY не должен быть пустым

| | | | | | | | | |

Я пытаюсь настроить несколько файлов настроек (разработка, производство и т. д.), включающих некоторые базовые настройки. Хотя не может добиться успеха. Когда я пытаюсь запустить ./manage.py runserver, я получаю следующую ошибку:

(cb)[email protected] /srv/www/cb $ ./ manage.py runserver Неправильно сконфигурирован: параметр SECRET_KEY не должен быть пустым. 

Вот мой модуль настроек:

(cb)[email protected] /srv/www/cb/cb/settings $ ll total 24 -rw- рв-р--. 1 клим клим 8230 2 окт 02:56 base.py -rw-rw-r--. 1 clime clime 489 2 окт 03:09 development.py -rw-rw-r--. 1 клим клим 24 окт 2 02:34 __init__.py -rw-rw-r--. 1 clime clime 471 2 окт 02:51 production.py 

Базовые настройки (содержат SECRET_KEY):

(cb)[email protected] /srv/www /cb/cb/settings $ cat base.py: # Базовые настройки Django для проекта cb. импортировать django.conf.global_settings как значения по умолчанию DEBUG = False TEMPLATE_DEBUG = False INTERNAL_IPS = ("127.0.0.1",) ADMINS = ( ("clime", "[email protected]"), ) MANAGERS = ADMINS DATABASES = { "default ": { #"ENGINE": "django.db.backends.postgresql_psycopg2", # Добавьте "postgresql_psycopg2", "mysql", "sqlite3" или "oracle". "ENGINE": "django.db.backends.postgresql_psycopg2", "NAME": "cwu", # Или путь к файлу базы данных при использовании sqlite3. "USER": "clime", # Не используется с sqlite3. "ПАРОЛЬ": "", # Не используется с sqlite3. "HOST": "", # Установите пустую строку для локального хоста. Не используется с sqlite3. "PORT": "", # Установите пустую строку по умолчанию. Не используется с sqlite3. } } # Местный часовой пояс для этой установки. Варианты можно найти здесь: # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name # хотя не все варианты могут быть доступны во всех операционных системах. # В среде Windows этот часовой пояс должен быть установлен в вашей системе. TIME_ZONE = "Европа/Прага" # Код языка для этой установки. Все варианты можно найти здесь: # http://www.i18nguy.com/unicode/language-identifiers.html LANGUAGE_CODE = "en-us" SITE_ID = 1 # Если вы установите значение False, Django выполнит некоторые оптимизации, чтобы не # для загрузки механизма интернационализации. USE_I18N = False # Если вы установите значение False, Django не будет форматировать даты, числа и # календари в соответствии с текущей локалью. USE_L10N = False # TODO: сделать это истинным и настроить ввод даты и времени DATE_INPUT_FORMATS = defaults.DATE_INPUT_FORMATS + ("%d %b %y", "%d %b, %y") # + ("25 Oct 13", " 25 октября, 13") # Если вы установите значение False, Django не будет использовать дату и время с учетом часового пояса. USE_TZ = True # Абсолютный путь в файловой системе к каталогу, в котором будут храниться загруженные пользователем файлы. # Пример: "/home/media/media.lawrence.com/media/" MEDIA_ROOT = "/srv/www/cb/media" # URL-адрес, который обрабатывает медиа, обслуживаемый из MEDIA_ROOT. Обязательно используйте косую черту # в конце. # Примеры: "http://media.lawrence.com/media/", "http://example.com/media/" MEDIA_URL = "/media/" # Абсолютный путь к каталогу, в который должны быть собраны статические файлы. # Ничего не помещайте в этот каталог сами; храните ваши статические файлы # в подкаталогах приложений, "static/" и в STATICFILES_DIRS. # Пример: "/home/media/media.lawrence.com/static/" STATIC_ROOT = "/srv/www/cb/static" # Префикс URL для статических файлов. # Пример: "http://media.lawrence.com/static/" STATIC_URL = "/static/" # Дополнительные местоположения статических файлов STATICFILES_DIRS = ( # Поместите сюда строки, например "/home/html/static" или "C :/www/django/static". # Всегда используйте косую черту, даже в Windows. # Не забывайте использовать абсолютные пути, а не относительные. ) # Список классов поиска, которые умеют находить # статические файлы в различных местах .STATICFILES_FINDERS = ( "django.contrib.staticfiles.finders.FileSystemFinder", "django.contrib.staticfiles.finders.AppDirectoriesFinder", # "django.contrib.staticfiles.finders.DefaultStorageFinder", ) # Сделайте это уникальным и не " не поделиться им ни с кем. SECRET_KEY = "8lu*6g0lg)9z!ba+a$ehk)xt)x%rxgb$i1&amp;022shmi1jcgihb*" # Список вызываемых объектов, умеющих импортировать шаблоны из различных источников. TEMPLATE_LOADERS = ( "django.template.loaders.filesystem.Loader", "django.template.loaders.app_directories.Loader", # "django.template.loaders.eggs.Loader", ) TEMPLATE_CONTEXT_PROCESSORS = ( "django.contrib.auth .context_processors.auth", "django.core.context_processors.request", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", "django.core .context_processors.static", "django.core.context_processors.tz", "django.contrib.messages.context_processors.messages", "web.context.inbox", "web.context.base", "web.context.main_search ", "web.context.enums", ) MIDDLEWARE_CLASSES = ( "django.middleware.common.CommonMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.csrf.CsrfViewMiddleware", "django.contrib .auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "watson.middleware.SearchContextMiddleware", "debug_toolbar.middleware.DebugToolbarMiddleware ", "middleware.UserMemberMiddleware", "middleware.ProfilerMiddleware", "middleware.VaryOnAcceptMiddleware", # Раскомментируйте следующую строку для простой защиты от кликджекинга: # "django.middleware.clickjacking.XFrameOptionsMiddleware", ) ROOT_URLCONF = "cb.urls" # Пунктирный путь Python к приложению WSGI, используемому сервером выполнения Django. WSGI_APPLICATION = "cb.wsgi.application" TEMPLATE_DIRS = ( # Поместите сюда строки, например "/home/html/django_templates" или "C:/www/django/templates". # Всегда используйте косую черту, даже в Windows. # Не «не забывайте использовать абсолютные пути, а не относительные». .contrib.contenttypes", "django.contrib.sessions", "django.contrib.sites", "django.contrib.messages", "django.contrib.staticfiles", "south", "grappelli", # должен стоять перед admin "django.contrib.admin", "django.contrib.admindocs", "endless_pagination", "debug_toolbar", "djangoratings", "watson", "web", ) AUTH_USER_MODEL = "web.User" # Пример конфигурации ведения журнала Единственная реальная # запись в журнал, выполняемая этой конфигурацией, — это отправка электронной почты администраторам сайта при каждой ошибке HTTP 500, когда DEBUG=False. # См. http://docs.djangoproject.com/en/dev/topics/logging # подробнее о том, как настроить конфигурацию ведения журнала. "версия": 1, "disable_existing_loggers": False, "filters": { "require_debug_false": { "()": "django.utils.log.RequireDebugFalse" } }, "formatters": { "standard": { " формат" : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(сообщение)s", "datefmt" : "%d/%b/%Y % H:%M:%S" }, }, "handlers": { "mail_admins": { "level": "ERROR", "filters": ["require_debug_false"], "class": "django.utils.log .AdminEmailHandler" }, "null": { "level": "DEBUG", "class": "django.utils.log.NullHandler", }, "logfile": { "level": "DEBUG", "class" :"logging.handlers.RotatingFileHandler", "имя файла": "/srv/www/cb/logs/application.log", "maxBytes": 50000, "backupCount": 2, "formatter": "стандарт", }, "console":{ "level":"INFO", "class":"logging.StreamHandler", "formatter": "standard" }, }, "loggers": { "django.request": { "handlers": ["mail_admins"], "level": "ОШИБКА", "propagate": True, }, "django": { "handlers":["console"], "propagate": True, "level": "WARN" , }, "django.db.backends": { "обработчики": ["консоль"], "уровень": "DEBUG", "propagate": False, }, "web": { "handlers": ["console", "logfile"], "level": "DEBUG", }, }, } LOGIN_URL = "логин" LOGOUT_URL = "выход" #ENDLESS_PAGINATION_LOADING = """ # <img src="/static/web/img/preloader.gif" alt="loading" style="margin:auto"/> #""" ENDLESS_PAGINATION_LOADING = """ <div class="spinner small" style="margin:auto"> <div class="block_1 spinner_block small"></div> <div class="block_2 spinner_block small"></div> <div class="block_3 spinner_block small"></div> </дел> """ DEBUG_TOOLBAR_CONFIG = { "INTERCEPT_REDIRECTS": False, } import django.template.loader django.template.loader.add_to_builtins("web.templatetags.cb_tags") django.template.loader.add_to_builtins("web.templatetags.tag_library" ) WATSON_POSTGRESQL_SEARCH_CONFIG = "public.english_nostop" 

Один из файлов настроек:

(cb)[email protected] /srv/www/cb/cb/ settings $ cat development.py из базового импорта * DEBUG = True TEMPLATE_DEBUG = True ALLOWED_HOSTS = ["127.0.0.1", "31.31.78.149"] DATABASES = { "default": { "ENGINE": "django.db.backends. postgresql_psycopg2", "ИМЯ": "cwu", "ПОЛЬЗОВАТЕЛЬ": "clime", "ПАРОЛЬ": "", "ХОСТ": "", "ПОРТ": "", } } MEDIA_ROOT = "/srv/www/ cb/media/" STATIC_ROOT = "/srv/www/cb/static/" TEMPLATE_DIRS = ( "/srv/www/cb/web/templates", "/srv/www/cb/templates", )  

Код в manage.py:

(cb)[email protected] /srv/www/cb $ cat manage.py #!/ usr/bin/env python import os import sys if __name__ == "__main__": os.environ.setdefault ("DJANGO_SETTINGS_MODULE", "cb.settings.development") из django.core.management import execute_from_command_line execute_from_command_line(sys.argv) 

Если я добавлю из базового импорта * в /srv/www/cb/cb/settings/__init__.py (который в противном случае пуст), он волшебным образом начинает работать, но я не понимаю, почему. Кто-нибудь может объяснить мне, что здесь происходит? Это должно быть какое-то волшебство модуля Python.

EDIT: Все также начинает работать, если я удаляю эту строку из base.py

django.template.loader.add_to_builtins("web.templatetags.cb_tags") 

Если я удалю эту строку из web.templatetags.cb_tags, она также начинает работать:

из бесконечных_пагинаций.templatetags импортировать бесконечные 

Думаю, это потому, что, в конце концов, это приводит к

из django.conf import settings PER_PAGE = getattr(settings, "ENDLESS_PAGINATION_PER_PAGE", 10) 

Таким образом, это создает какие-то странные циклические вещи и игра окончена.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method