Настройки
Предупреждение
Будьте осторожны при переопределении настроек, особенно когда значение по умолчанию — список или словарь, не пустой, например, STATICFILES_FINDERS. Убедитесь, что вы сохраняете компоненты, необходимые для функций Django, которые вы хотите использовать.
Основные настройки
Вот список настроек, доступных в ядре Django, и их значения по умолчанию. Настройки, предоставляемые приложениями contrib, перечислены ниже, за которыми следует предметный индекс основных настроек. Для вводных материалов см. руководство по настройкам.
ABSOLUTE_URL_OVERRIDES
Значение по умолчанию: {} (Пустой словарь)
Словарь, сопоставляющий "app_label.model_name" строки функциям, которые принимают объект модели и возвращают его URL. Это способ вставки или переопределения get_absolute_url() методов на основе каждой установки. Пример:
ABSOLUTE_URL_OVERRIDES = {
"blogs.blog": lambda o: "/blogs/%s/" % o.slug,
"news.story": lambda o: "/stories/%s/%s/" % (o.pub_year, o.slug),
}
Имя модели, используемое в этой настройке, должно быть в нижнем регистре, независимо от регистра фактического имени класса модели.
ADMINS
Значение по умолчанию: [] (Пустой список)
Список всех людей, получающих уведомления об ошибках кода. Когда DEBUG=False и AdminEmailHandler настроены в LOGGING (выполняется по умолчанию), Django отправляет этим людям детали исключений, возникающих в цикле запроса/ответа.
Каждый элемент в списке должен быть кортежем (Полное имя, адрес электронной почты). Пример:
[("John", "john@example.com"), ("Mary", "mary@example.com")]
ALLOWED_HOSTS
Значение по умолчанию: [] (Пустой список)
Список строк, представляющих имена хостов/доменов, которые может обслуживать этот сайт Django. Это мера безопасности для предотвращения атак на заголовок HTTP Host, которые возможны даже при многих, казалось бы, безопасных конфигурациях веб-сервера.
Значения в этом списке могут быть полными именами (например, 'www.example.com'), в этом случае они будут сопоставляться с заголовком запроса Host точно (регистронезависимо, без учета порта). Значение, начинающееся с точки, может использоваться как поддоменный шаблон: '.example.com' будет соответствовать example.com, www.example.com, и любому другому поддомену example.com. Значение '*' будет соответствовать любому значению; в этом случае вы несете ответственность за предоставление собственной проверки заголовка Host (возможно, в middleware; если так, то этот middleware должен быть указан первым в MIDDLEWARE).
Django также допускает использование полного доменного имени (FQDN) любых записей. Некоторые браузеры включают конечную точку в заголовке Host , которую Django удаляет при выполнении проверки хоста.
Если заголовок Host (или X-Forwarded-Host, если USE_X_FORWARDED_HOST включен) не соответствует ни одному значению в этом списке, метод django.http.HttpRequest.get_host() вызовет SuspiciousOperation.
Когда DEBUG равно True и ALLOWED_HOSTS пусто, хост проверяется по отношению к ['.localhost', '127.0.0.1', '[::1]'].
ALLOWED_HOSTS также проверяется при выполнении тестов.
Эта проверка применяется только через get_host(); если ваш код напрямую обращается к заголовку Host из request.META, вы обходите эту защиту безопасности.
APPEND_SLASH
Значение по умолчанию: True
При установке в значение True, если URL запроса не соответствует ни одному из шаблонов в URLconf и не заканчивается слешем, выводится HTTP-перенаправление на тот же URL со слешем в конце. Обратите внимание, что перенаправление может привести к потере любых данных, отправленных в запросе POST.
Настройка APPEND_SLASH используется только если установлен CommonMiddleware (см. Middleware). См. также PREPEND_WWW.
CACHES
Значение по умолчанию:
{
"default": {
"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
}
}
Словарь, содержащий настройки всех кэшей, используемых с Django. Это вложенный словарь, содержимое которого сопоставляет псевдонимы кэшей со словарем, содержащим параметры для отдельного кэша.
Настройка CACHES должна настроить кэш default; может быть указано любое количество дополнительных кэшей. Если вы используете кэш-бэкенд, отличный от локального кэша памяти, или вам необходимо определить несколько кэшей, потребуются другие параметры. Доступны следующие параметры кэша.
BACKEND
Значение по умолчанию: '' (Пустая строка)
Используемый кэш-бэкенд. Встроенные кэш-бэкенды:
'django.core.cache.backends.db.DatabaseCache''django.core.cache.backends.dummy.DummyCache''django.core.cache.backends.filebased.FileBasedCache''django.core.cache.backends.locmem.LocMemCache''django.core.cache.backends.memcached.PyMemcacheCache''django.core.cache.backends.memcached.PyLibMCCache''django.core.cache.backends.redis.RedisCache'
Вы можете использовать кэш-бэкенд, который не поставляется с Django, установив BACKEND на полное квалифицированное имя класса кэш-бэкенда (например, mypackage.backends.whatever.WhateverCache).
KEY_FUNCTION
Строка, содержащая путь с точкой до функции (или любого вызываемого объекта), определяющей, как составить префикс, версию и ключ в конечный ключ кэша. Реализация по умолчанию эквивалентна функции:
def make_key(key, key_prefix, version):
return ":".join([key_prefix, str(version), key])
Вы можете использовать любую функцию ключа, которую хотите, при условии, что у нее такая же сигнатура аргументов.
См. документацию по преобразованию ключей кэша для получения дополнительной информации.
KEY_PREFIX
Значение по умолчанию: '' (Пустая строка)
Строка, которая автоматически будет включена (по умолчанию в начале) во все ключи кэша, используемые сервером Django.
См. документацию по префиксации ключей кэша для получения дополнительной информации.
LOCATION
Значение по умолчанию: '' (Пустая строка)
Расположение кэша для использования. Это может быть каталог для кэша файловой системы, хост и порт для сервера memcache или идентификатор для локального кэша памяти. Например:
CACHES = {
"default": {
"BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
"LOCATION": "/var/tmp/django_cache",
}
}
OPTIONS
Значение по умолчанию: None
Дополнительные параметры для передачи кэш-бэкенду. Доступные параметры зависят от вашего кэш-бэкенда.
Некоторую информацию об доступных параметрах можно найти в документации по аргументам кэша. Для получения более подробной информации, обратитесь к документации своего модуля бэкенда.
TIMEOUT
Значение по умолчанию: 300
Количество секунд, после которого запись в кэше считается устаревшей. Если значение этой настройки равно None, записи в кэше не будут истекать. Значение 0 приводит к немедленному истечению ключей (по сути, «не кэшировать»).
VERSION
Значение по умолчанию: 1
Номер версии по умолчанию для ключей кэша, сгенерированных сервером Django.
См. документацию по версии кэша для получения дополнительной информации.
CACHE_MIDDLEWARE_ALIAS
Значение по умолчанию: 'default'
Подключение к кэшу, используемое для middleware кэша.
CACHE_MIDDLEWARE_KEY_PREFIX
Значение по умолчанию: '' (Пустая строка)
Строка, которая будет добавлена как префикс к ключам кэша, сгенерированным middleware кэша. Этот префикс комбинируется с настройкой KEY_PREFIX; он не заменяет ее.
CACHE_MIDDLEWARE_SECONDS
Значение по умолчанию: 600
Целочисленное значение по умолчанию количества секунд для кеширования страницы для middleware кэша.
CSRF_COOKIE_AGE
Срок действия куки CSRF в секундах.
Причина установки длительного срока действия истечения срока действия заключается в том, чтобы избежать проблем в случае закрытия браузера пользователем или добавления страницы в закладки, а затем загрузки этой страницы из кэша браузера. Без постоянных файлов cookie отправка формы в этом случае не удастся.
Некоторые браузеры (в частности, Internet Explorer) могут запретить использование постоянных файлов cookie или могут иметь поврежденные индексы в хранилище файлов cookie на диске, что может привести к тому, что проверки защиты от CSRF (иногда периодически) не удастся. Измените это значение на None, чтобы использовать сессионные файлы cookie CSRF, которые хранят файлы cookie в памяти вместо постоянного хранения.
CSRF_COOKIE_DOMAIN
Домен, который следует использовать при установке файла cookie CSRF. Это может быть полезно для простого исключения междоменных запросов из обычной защиты от поддельных запросов с одного сайта. Его следует установить на строку, такую как ".example.com", чтобы разрешить запрос POST из формы на одном поддомене, который будет принят представлением, предоставленным с другого поддомена.
Обратите внимание, что наличие этого параметра не означает, что защита Django от CSRF по умолчанию защищена от междоменных атак — см. раздел Ограничения CSRF.
CSRF_COOKIE_HTTPONLY
Использовать HttpOnly флаг для файла cookie CSRF. Если это значение установлено в True, клиентский JavaScript не сможет получить доступ к файлу cookie CSRF.
Отмечая файл cookie CSRF как HttpOnly, не обеспечивается никакой практической защиты, потому что CSRF предназначен только для защиты от междоменных атак. Если злоумышленник может прочитать файл cookie через JavaScript, он уже находится в том же домене, что и браузер, поэтому он может делать все, что захочет. (XSS — гораздо большая брешь, чем CSRF.)
Хотя настройка предлагает небольшую практическую пользу, ее иногда требуют аудиторы безопасности.
Если вы включили эту настройку и вам нужно отправить значение маркера CSRF с запросом AJAX, ваш JavaScript должен извлечь значение из скрытого поля ввода маркера CSRF вместо из файла cookie.
Подробности о HttpOnly см. в разделе SESSION_COOKIE_HTTPONLY.
CSRF_COOKIE_NAME
Имя файла cookie, используемого для маркера аутентификации CSRF. Оно может быть любым (пока оно отличается от других имен файлов cookie в вашем приложении). См. Защита от поддельных запросов с одного сайта.
CSRF_COOKIE_PATH
Путь, установленный в файле cookie CSRF. Он должен либо совпадать с путем URL вашего приложения Django, либо быть родительским каталогом этого пути.
Это полезно, если у вас несколько экземпляров Django, работающих под одним именем хоста. Они могут использовать разные пути файлов cookie, и каждый экземпляр увидит только свой собственный файл cookie CSRF.
CSRF_COOKIE_SAMESITE
Значение флага SameSite для файла cookie CSRF. Этот флаг предотвращает отправку файла cookie в межсайтовых запросах.
Подробности о SameSite см. в разделе SESSION_COOKIE_SAMESITE.
CSRF_COOKIE_SECURE
Использовать ли защищённый файл cookie для файла cookie CSRF. Если это значение установлено в True, файл cookie будет помечен как «защищённый», что означает, что браузеры могут гарантировать, что файл cookie будет отправлен только по HTTPS-соединению.
CSRF_USE_SESSIONS
По умолчанию: False
Хранить ли маркер CSRF в сессии пользователя вместо файла cookie. Требует использования django.contrib.sessions.
Хранение маркера CSRF в файле cookie (по умолчанию в Django) безопасно, но хранение его в сессии — распространённая практика в других веб-фреймворках и поэтому иногда требуется аудиторами безопасности.
Поскольку предварительно настроенные представления ошибок требуют маркера CSRF, SessionMiddleware должно находиться в MIDDLEWARE перед любым средством, которое может вызвать исключение для запуска представления ошибки (например, PermissionDenied), если вы используете CSRF_USE_SESSIONS. См. Порядок обработки middleware.
CSRF_FAILURE_VIEW
По умолчанию: 'django.views.csrf.csrf_failure'
Путь к функции представления, используемой при отклонении входящего запроса защитой от CSRF. Функция должна иметь следующую сигнатуру:
def csrf_failure(request, reason=""): ...
где reason — короткое сообщение (предназначенное для разработчиков или регистрации, а не для конечных пользователей) с указанием причины отклонения запроса. Оно должно возвращать HttpResponseForbidden.
django.views.csrf.csrf_failure() принимает дополнительный параметр template_name, который по умолчанию равен '403_csrf.html'. Если шаблон с таким именем существует, он будет использован для рендеринга страницы.
CSRF_HEADER_NAME
По умолчанию: 'HTTP_X_CSRFTOKEN'
Имя заголовка запроса, используемого для аутентификации CSRF.
Как и другие заголовки HTTP в request.META, имя заголовка, полученное от сервера, нормализуется путём преобразования всех символов в верхний регистр, замены всех дефисов на подчёркивания и добавления префикса 'HTTP_' к имени. Например, если ваш клиент отправляет заголовок 'X-XSRF-TOKEN', настройка должна быть 'HTTP_X_XSRF_TOKEN'.
CSRF_TRUSTED_ORIGINS
По умолчанию: [] (Пустой список)
Список надёжных источников для небезопасных запросов (например, POST).
Для запросов, содержащих заголовок Origin, защита Django от CSRF требует, чтобы этот заголовок соответствовал источнику, указанному в заголовке Host.
Для небезопасного запроса secure, который не содержит заголовок Origin, запрос должен содержать заголовок Referer, который соответствует источнику, указанному в заголовке Host.
Эти проверки предотвращают, например, то, чтобы запрос POST от subdomain.example.com был успешным против api.example.com. Если вам нужны междоменные небезопасные запросы, продолжая пример, добавьте 'https://subdomain.example.com' в этот список (и/или http://..., если запросы исходят с небезопасной страницы).
Настройка также поддерживает поддомены, поэтому вы можете добавить 'https://*.example.com', например, чтобы разрешить доступ со всех поддоменов example.com.
DATABASES
По умолчанию: {} (Пустой словарь)
Словарь, содержащий настройки всех баз данных, которые будут использоваться с Django. Это вложенный словарь, чьё содержимое отображает псевдоним базы данных на словарь, содержащий параметры для отдельной базы данных.
Настройка DATABASES должна настроить базу данных default; любое количество дополнительных баз данных также может быть указано.
Самый простой возможный файл настроек — для однобазовой конфигурации с использованием SQLite. Это можно настроить следующим образом:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": "mydatabase",
}
}
При подключении к другим базам данных, таким как MariaDB, MySQL, Oracle или PostgreSQL, потребуются дополнительные параметры подключения. См. настройку ENGINE ниже о том, как указать другие типы баз данных. Этот пример для PostgreSQL:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "mydatabase",
"USER": "mydatabaseuser",
"PASSWORD": "mypassword",
"HOST": "127.0.0.1",
"PORT": "5432",
}
}
Ниже приведены дополнительные внутренние параметры, которые могут потребоваться для более сложных конфигураций:
ATOMIC_REQUESTS
По умолчанию: False
Установите это значение в True, чтобы обернуть каждое представление транзакцией в этой базе данных. См. Связывание транзакций с HTTP-запросами.
AUTOCOMMIT
По умолчанию: True
Установите это значение в False, если вы хотите отключить управление транзакциями Django и реализовать своё собственное.
ENGINE
По умолчанию: '' (Пустая строка)
База данных backend. Встроенные бэкэнды баз данных:
'django.db.backends.postgresql''django.db.backends.mysql''django.db.backends.sqlite3''django.db.backends.oracle'
Вы можете использовать базу данных backend, не поставляемую с Django, установив ENGINE на полный путь (т. е. mypackage.backends.whatever).
HOST
По умолчанию: '' (Пустая строка)
Хост, используемый при подключении к базе данных. Пустая строка означает localhost. Не используется с SQLite.
Если это значение начинается с обратной косой черты ('/') и вы используете MySQL, MySQL подключится через Unix-сокет к указанному сокету. Например:
"HOST": "/var/run/mysql"
Если вы используете MySQL и это значение не начинается с обратной косой черты, то это значение предполагается как хост.
END_OF_DOCUMENT_MARKERЕсли вы используете PostgreSQL, по умолчанию (пустая HOST), подключение к базе данных осуществляется через сокеты доменной области UNIX («локальные» строки в pg_hba.conf). Если ваш сокет доменной области UNIX находится не в стандартном месте, используйте то же значение unix_socket_directory из postgresql.conf. Если вы хотите подключиться через сокеты TCP, установите HOST на ‘localhost’ или ‘127.0.0.1’ («строки host» в pg_hba.conf). В Windows вам всегда следует определять HOST, так как сокеты доменной области UNIX недоступны.
NAME
По умолчанию: '' (Пустая строка)
Имя базы данных для использования. Для SQLite — это полный путь к файлу базы данных. При указании пути всегда используйте косые черты, даже в Windows (например, C:/homes/user/mysite/sqlite3.db).
CONN_MAX_AGE
По умолчанию: 0
Срок жизни подключения к базе данных в секундах. Используйте 0, чтобы закрывать подключения к базе данных в конце каждого запроса — историческое поведение Django, и None для неограниченных постоянных подключений к базе данных.
CONN_HEALTH_CHECKS
По умолчанию: False
Если установлено True, существующие постоянные подключения к базе данных будут проверены на работоспособность перед повторным использованием в каждом запросе, выполняющем доступ к базе данных. Если проверка работоспособности завершится неудачно, соединение будет восстановлено без сбоя запроса, когда подключение больше не пригодно, но сервер базы данных готов принять и обработать новые подключения (например, после перезапуска сервера базы данных, закрывающего существующие подключения).
OPTIONS
По умолчанию: {} (Пустой словарь)
Дополнительные параметры для использования при подключении к базе данных. Доступные параметры зависят от вашего бэкенда базы данных.
Некоторая информация об доступных параметрах может быть найдена в документации Бэкенды баз данных. Для получения более подробной информации, обратитесь к документации модуля вашего бэкенда.
PASSWORD
По умолчанию: '' (Пустая строка)
Пароль для подключения к базе данных. Не используется с SQLite.
PORT
По умолчанию: '' (Пустая строка)
Порт для подключения к базе данных. Пустая строка означает использование стандартного порта. Не используется с SQLite.
TIME_ZONE
По умолчанию: None
Строка, представляющая часовой пояс для этого подключения к базе данных, или None. Этот внутренний параметр настроек DATABASES принимает те же значения, что и общий параметр TIME_ZONE.
Когда USE_TZ — True, чтение дат и времени из базы данных возвращает осознанные даты и время с часовым поясом, установленным на значение этого параметра, если он не None, или на UTC в противном случае.
Когда USE_TZ — False, установка этого параметра является ошибкой.
-
Если бэкенд базы данных не поддерживает часовые пояса (например, SQLite, MySQL, Oracle), Django читает и записывает даты и время в местном времени в соответствии с этим параметром, если он задан, и в UTC, если он не задан.
Изменение часового пояса подключения изменяет способ чтения и записи дат и времени в базу данных.
- Если Django управляет базой данных и у вас нет веской причины поступить иначе, оставьте этот параметр без значения. Лучше всего хранить даты и время в UTC, так как это предотвращает неоднозначные или несуществующие даты и время во время переходов на летнее время. Кроме того, получение дат и времени в UTC упрощает арифметику дат и времени — нет необходимости учитывать потенциальные изменения смещения при переходе на летнее время.
- Если вы подключаетесь к сторонней базе данных, которая хранит даты и время в местном часовом поясе, а не в UTC, необходимо установить этот параметр на соответствующий часовой пояс. Аналогично, если Django управляет базой данных, но сторонние системы подключаются к той же базе данных и ожидают найти даты и время в местном времени, необходимо установить этот параметр.
-
Если бэкенд базы данных поддерживает часовые пояса (например, PostgreSQL), то часовой пояс подключения к базе данных устанавливается на это значение.
Хотя установка параметра
TIME_ZONEочень редко необходима, существуют ситуации, когда это становится необходимым. В частности, рекомендуется согласовать значение с общим параметромTIME_ZONEпри работе с сырыми запросами, включающими функции даты/времени, такие как функция PostgreSQLdate_trunc()илиgenerate_series(), особенно при генерировании временных рядов, которые переходят летнее время.Это значение может быть изменено в любое время, база данных обработает преобразование дат и времени в настроенный часовой пояс.
Однако это имеет недостаток: получение всех дат и времени в местном времени усложняет арифметику дат и времени — необходимо учитывать возможные изменения смещения при переходе на летнее время.
Рассмотрите возможность явного преобразования в местное время с помощью
AT TIME ZONEв сырых SQL-запросах вместо установки параметраTIME_ZONE.
DISABLE_SERVER_SIDE_CURSORS
По умолчанию: False
Установите это значение на True, если вы хотите отключить использование курсоров на стороне сервера с QuerySet.iterator(). Пулы транзакций и курсоры на стороне сервера описывает пример использования.
Это PostgreSQL-специфический параметр.
USER
По умолчанию: '' (Пустая строка)
Имя пользователя для подключения к базе данных. Не используется с SQLite.
TEST
По умолчанию: {} (Пустой словарь)
Словарь настроек для тестовых баз данных; для более подробной информации о создании и использовании тестовых баз данных см. Тестовая база данных.
Вот пример с конфигурацией тестовой базы данных:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"USER": "mydatabaseuser",
"NAME": "mydatabase",
"TEST": {
"NAME": "mytestdatabase",
},
},
}
Следующие ключи в словаре TEST доступны:
CHARSET
По умолчанию: None
Кодировка набора символов, используемая для создания тестовой базы данных. Значение этой строки передается непосредственно в базу данных, поэтому ее формат специфичен для бэкенда.
Поддерживается бэкендами PostgreSQL (postgresql) и MySQL (mysql).
COLLATION
По умолчанию: None
Порядок сортировки для использования при создании тестовой базы данных. Это значение передается непосредственно бэкенду, поэтому его формат специфичен для бэкенда.
Поддерживается только для бэкенда mysql (см. руководство MySQL для получения подробной информации).
DEPENDENCIES
По умолчанию: ['default'], для всех баз данных, кроме default, которая не имеет зависимостей.
Зависимости создания базы данных. См. документацию по управлению порядком создания тестовых баз данных для получения подробной информации.
MIGRATE
По умолчанию: True
Если установлено на False, миграции не будут выполняться при создании тестовой базы данных. Это аналогично установке None в качестве значения в MIGRATION_MODULES, но для всех приложений.
MIRROR
По умолчанию: None
Псевдоним базы данных, который эта база данных должна зеркалить во время тестирования. Зависит от транзакций и поэтому должен использоваться в TransactionTestCase, а не в TestCase.
Этот параметр предназначен для тестирования конфигураций мастер/раб (иногда называемых мастер/ведомый в некоторых базах данных) для нескольких баз данных. См. документацию по тестированию конфигураций мастер/раб для получения подробной информации.
NAME
По умолчанию: None
Имя базы данных, которое используется при выполнении набора тестов.
Если используется значение по умолчанию (None) с движком базы данных SQLite, тесты будут использовать базу данных в оперативной памяти. Для всех других движков баз данных тестовая база данных будет использовать имя 'test_' + DATABASE_NAME.
См. Тестовая база данных.
TEMPLATE
Это PostgreSQL-специфический параметр.
Имя шаблона (например, 'template0'), на основе которого будет создана тестовая база данных.
CREATE_DB
По умолчанию: True
Это Oracle-специфический параметр.
Если установлено на False, тестовые табличные пространства не будут автоматически создаваться в начале тестов или удаляться в конце.
CREATE_USER
По умолчанию: True
Это Oracle-специфический параметр.
Если установлено на False, тестовый пользователь не будет автоматически создаваться в начале тестов и удаляться в конце.
USER
По умолчанию: None
Это настройка, специфичная для Oracle.
Имя пользователя, используемое при подключении к базе данных Oracle, которая будет использоваться при выполнении тестов. Если не указано, Django будет использовать 'test_' + USER.
PASSWORD
По умолчанию: None
Это настройка, специфичная для Oracle.
Пароль, используемый при подключении к базе данных Oracle, которая будет использоваться при выполнении тестов. Если не указано, Django сгенерирует случайный пароль.
ORACLE_MANAGED_FILES
По умолчанию: False
Это настройка, специфичная для Oracle.
Если установлено значение True, будут использоваться табличные пространства Oracle Managed Files (OMF). DATAFILE и DATAFILE_TMP будут игнорироваться.
TBLSPACE
По умолчанию: None
Это настройка, специфичная для Oracle.
Имя табличного пространства, которое будет использоваться при выполнении тестов. Если не указано, Django будет использовать 'test_' + USER.
TBLSPACE_TMP
По умолчанию: None
Это настройка, специфичная для Oracle.
Имя временного табличного пространства, которое будет использоваться при выполнении тестов. Если не указано, Django будет использовать 'test_' + USER + '_temp'.
DATAFILE
По умолчанию: None
Это настройка, специфичная для Oracle.
Имя файла данных, используемого для TBLSPACE. Если не указано, Django будет использовать TBLSPACE + '.dbf'.
DATAFILE_TMP
По умолчанию: None
Это настройка, специфичная для Oracle.
Имя файла данных, используемого для TBLSPACE_TMP. Если не указано, Django будет использовать TBLSPACE_TMP + '.dbf'.
DATAFILE_MAXSIZE
По умолчанию: '500M'
Это настройка, специфичная для Oracle.
Максимальный размер, до которого разрешается расширяться файлу DATAFILE.
DATAFILE_TMP_MAXSIZE
По умолчанию: '500M'
Это настройка, специфичная для Oracle.
Максимальный размер, до которого разрешается расширяться файлу DATAFILE_TMP.
DATAFILE_SIZE
По умолчанию: '50M'
Это настройка, специфичная для Oracle.
Начальный размер файла DATAFILE.
DATAFILE_TMP_SIZE
По умолчанию: '50M'
Это настройка, специфичная для Oracle.
Начальный размер файла DATAFILE_TMP.
DATAFILE_EXTSIZE
По умолчанию: '25M'
Это настройка, специфичная для Oracle.
Количество, на которое расширяется DATAFILE при необходимости большего пространства.
DATAFILE_TMP_EXTSIZE
По умолчанию: '25M'
Это настройка, специфичная для Oracle.
Количество, на которое расширяется DATAFILE_TMP при необходимости большего пространства.
DATA_UPLOAD_MAX_MEMORY_SIZE
По умолчанию: 2621440 (т.е. 2,5 МБ).
Максимальный размер тела запроса в байтах, после которого будет поднято исключение SuspiciousOperation (RequestDataTooBig). Проверка выполняется при обращении к request.body или request.POST, и рассчитывается относительно общего размера запроса, за исключением данных загрузки файла. Можно установить это значение в None, чтобы отключить проверку. Приложения, ожидающие необычно больших POST-запросов, должны настроить это значение.
Объем данных запроса коррелирует с объемом памяти, необходимым для обработки запроса и заполнения словарей GET и POST. Крупные запросы могут использоваться как вектор атаки типа «отказ в обслуживании», если их не контролировать. Поскольку веб-серверы обычно не выполняют глубокую проверку запросов, подобную проверку на этом уровне выполнить невозможно.
См. также FILE_UPLOAD_MAX_MEMORY_SIZE.
DATA_UPLOAD_MAX_NUMBER_FIELDS
По умолчанию: 1000
Максимальное количество параметров, которые могут быть получены через GET или POST, прежде чем будет поднято исключение SuspiciousOperation (TooManyFields). Можно установить это значение в None, чтобы отключить проверку. Приложения, ожидающие необычно большое количество полей формы, должны настроить это значение.
Количество параметров запроса коррелирует со временем, необходимым для обработки запроса и заполнения словарей GET и POST. Крупные запросы могут использоваться как вектор атаки типа «отказ в обслуживании», если их не контролировать. Поскольку веб-серверы обычно не выполняют глубокую проверку запросов, подобную проверку на этом уровне выполнить невозможно.
DATA_UPLOAD_MAX_NUMBER_FILES
По умолчанию: 100
Максимальное количество файлов, которые могут быть получены через POST в запросе с кодировкой multipart/form-data прежде чем будет поднято исключение SuspiciousOperation (TooManyFiles). Можно установить это значение в None, чтобы отключить проверку. Приложения, ожидающие необычно большое количество полей файлов, должны настроить это значение.
Количество принимаемых файлов коррелирует со временем и памятью, необходимыми для обработки запроса. Крупные запросы могут использоваться как вектор атаки типа «отказ в обслуживании», если их не контролировать. Поскольку веб-серверы обычно не выполняют глубокую проверку запросов, подобную проверку на этом уровне выполнить невозможно.
DATABASE_ROUTERS
По умолчанию: [] (Пустой список)
Список роутеров, которые будут использоваться для определения базы данных, которую нужно использовать при выполнении запроса к базе данных.
См. документацию по автоматическому маршрутизации базы данных в конфигурациях с несколькими базами данных.
DATE_FORMAT
По умолчанию: 'N j, Y' (например, Feb. 4, 2003)
Форматирование по умолчанию для отображения полей даты в любой части системы. Обратите внимание, что формат, заданный локалью, имеет более высокий приоритет и будет применен вместо него. См. allowed date format strings.
См. также DATETIME_FORMAT, TIME_FORMAT и SHORT_DATE_FORMAT.
DATE_INPUT_FORMATS
По умолчанию:
[
"%Y-%m-%d", # '2006-10-25'
"%m/%d/%Y", # '10/25/2006'
"%m/%d/%y", # '10/25/06'
"%b %d %Y", # 'Oct 25 2006'
"%b %d, %Y", # 'Oct 25, 2006'
"%d %b %Y", # '25 Oct 2006'
"%d %b, %Y", # '25 Oct, 2006'
"%B %d %Y", # 'October 25 2006'
"%B %d, %Y", # 'October 25, 2006'
"%d %B %Y", # '25 October 2006'
"%d %B, %Y", # '25 October, 2006'
]
Список форматов, которые будут приниматься при вводе данных в поле даты. Форматы будут перебираться в порядке следования, используя первый допустимый. Обратите внимание, что эти строковые форматы используют синтаксис модуля datetime Python, а не строковые форматы из фильтра шаблона date.
Формат, заданный локалью, имеет более высокий приоритет и будет применен вместо него.
См. также DATETIME_INPUT_FORMATS и TIME_INPUT_FORMATS.
DATETIME_FORMAT
По умолчанию: 'N j, Y, P' (например, Feb. 4, 2003, 4 p.m.)
Форматирование по умолчанию для отображения полей datetime в любой части системы. Обратите внимание, что формат, заданный локалью, имеет более высокий приоритет и будет применен вместо него. См. allowed date format strings.
См. также DATE_FORMAT, TIME_FORMAT и SHORT_DATETIME_FORMAT.
DATETIME_INPUT_FORMATS
По умолчанию:
[
"%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59'
"%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200'
"%Y-%m-%d %H:%M", # '2006-10-25 14:30'
"%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59'
"%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200'
"%m/%d/%Y %H:%M", # '10/25/2006 14:30'
"%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59'
"%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200'
"%m/%d/%y %H:%M", # '10/25/06 14:30'
]
Список форматов, которые будут приниматься при вводе данных в поле datetime. Форматы будут перебираться в порядке следования, используя первый допустимый. Обратите внимание, что эти строковые форматы используют синтаксис модуля datetime Python, а не строковые форматы из фильтра шаблона date. Форматы только даты не включаются, так как поля datetime автоматически попробуют DATE_INPUT_FORMATS в последнюю очередь.
Формат, заданный локалью, имеет более высокий приоритет и будет применен вместо него.
См. также DATE_INPUT_FORMATS и TIME_INPUT_FORMATS.
DEBUG
По умолчанию: False
Логический флаг, включающий/выключающий режим отладки.
Никогда не разворачивайте сайт в продакшн с включенным DEBUG.
Одной из основных функций режима отладки является отображение подробных страниц ошибок. Если ваше приложение генерирует исключение, когда DEBUG равно True, Django отобразит подробный стек вызовов, включая много метаданных о вашей среде, таких как все текущие настройки Django (из settings.py).
В целях безопасности Django не будет включать чувствительные настройки, такие как SECRET_KEY. В частности, он будет исключать любые настройки, имя которых содержит одно из следующих слов:
'API''KEY''PASS''SECRET''SIGNATURE''TOKEN'
Обратите внимание, что это частичные совпадения. 'PASS' также будет соответствовать PASSWORD, так же как 'TOKEN' также будет соответствовать TOKENIZED и так далее.
Тем не менее, имейте в виду, что в выводе отладки всегда будут разделы, непригодные для публичного использования. Пути к файлам, параметры конфигурации и т. п. предоставляют злоумышленникам дополнительную информацию о вашем сервере.
Также важно помнить, что при запуске с включенным DEBUG, Django будет запоминать каждый исполняемый SQL-запрос. Это полезно при отладке, но на производственном сервере это быстро потребляет память.
Наконец, если DEBUG False, вам также необходимо правильно установить настройку ALLOWED_HOSTS. Если этого не сделать, все запросы будут возвращаться как «Ошибка запроса (400)».
Примечание
По умолчанию создаваемый файл settings.py командой django-admin
startproject устанавливает DEBUG = True для удобства.
DEBUG_PROPAGATE_EXCEPTIONS
По умолчанию: False
Если установлено значение True, обработка исключений Django для функций представлений (handler500, или представление отладки, если DEBUG True) и регистрация ответов 500 (django.request) пропускаются, и исключения распространяются вверх.
Это может быть полезно для некоторых тестовых установок. Не следует использовать на рабочем сайте, если вы не хотите, чтобы ваш веб-сервер (вместо Django) генерировал ответы «Внутренняя ошибка сервера». В этом случае убедитесь, что ваш сервер не отображает трассировку стека или другую конфиденциальную информацию в ответе.
DECIMAL_SEPARATOR
По умолчанию: '.' (Точка)
По умолчанию используется десятичный разделитель при форматировании десятичных чисел.
Обратите внимание, что формат, заданный локалью, имеет более высокий приоритет и будет применяться вместо него.
См. также NUMBER_GROUPING, THOUSAND_SEPARATOR и USE_THOUSAND_SEPARATOR.
DEFAULT_AUTO_FIELD
По умолчанию: 'django.db.models.AutoField'
Тип поля первичного ключа по умолчанию для моделей, у которых нет поля с primary_key=True.
DEFAULT_CHARSET
По умолчанию: 'utf-8'
По умолчанию используется кодировка для всех HttpResponse объектов, если тип MIME не указан вручную. Используется при построении заголовка Content-Type.
DEFAULT_EXCEPTION_REPORTER
По умолчанию: 'django.views.debug.ExceptionReporter'
Класс репортера исключений по умолчанию, который будет использоваться, если ни один не был назначен экземпляру HttpRequest. См. Пользовательские сообщения об ошибках.
DEFAULT_EXCEPTION_REPORTER_FILTER
По умолчанию: 'django.views.debug.SafeExceptionReporterFilter'
Класс фильтра репортера исключений по умолчанию, который будет использоваться, если ни один не был назначен экземпляру HttpRequest. См. Фильтрация сообщений об ошибках.
DEFAULT_FROM_EMAIL
По умолчанию: 'webmaster@localhost'
Почтовый адрес по умолчанию для автоматической переписки от системного администратора(ов). Этот адрес используется в заголовке From: исходящих электронных писем и может иметь любой формат, допустимый в выбранном протоколе отправки почты.
Это не влияет на сообщения об ошибках, отправленные на ADMINS и MANAGERS. См. SERVER_EMAIL для этого.
DEFAULT_INDEX_TABLESPACE
По умолчанию: '' (Пустая строка)
По умолчанию используется пространство имен таблиц для индексов полей, не указавших его, если это поддерживается бэкендом (см. Пространства имен таблиц).
DEFAULT_TABLESPACE
По умолчанию: '' (Пустая строка)
По умолчанию используется пространство имен таблиц для моделей, не указавших его, если это поддерживается бэкендом (см. Пространства имен таблиц).
DISALLOWED_USER_AGENTS
По умолчанию: [] (Пустой список)
Список скомпилированных объектов регулярных выражений, представляющих строки User-Agent, которые запрещены для посещения любой страницы в системе. Используется для ботов/парсеров. Используется только если CommonMiddleware установлен (см. Прослойки).
EMAIL_BACKEND
По умолчанию: 'django.core.mail.backends.smtp.EmailBackend'
Бэкенд, используемый для отправки электронных писем. Список доступных бэкэндов см. в Бэкэнды электронной почты.
EMAIL_FILE_PATH
По умолчанию: Не определено
Директория, используемая файловым бэкэндом электронной почты для хранения выходных файлов.
EMAIL_HOST
По умолчанию: 'localhost'
Хост, используемый для отправки электронной почты.
См. также EMAIL_PORT.
EMAIL_HOST_PASSWORD
По умолчанию: '' (Пустая строка)
Пароль для использования с SMTP-сервером, определённым в EMAIL_HOST. Эта настройка используется совместно с EMAIL_HOST_USER при аутентификации на SMTP-сервере. Если хотя бы одна из этих настроек пустая, Django не будет пытаться выполнить аутентификацию.
См. также EMAIL_HOST_USER.
EMAIL_HOST_USER
По умолчанию: '' (Пустая строка)
Имя пользователя для использования с SMTP-сервером, определённым в EMAIL_HOST. Если пусто, Django не будет пытаться выполнить аутентификацию.
См. также EMAIL_HOST_PASSWORD.
EMAIL_PORT
По умолчанию: 25
Порт для использования с SMTP-сервером, определённым в EMAIL_HOST.
EMAIL_SUBJECT_PREFIX
По умолчанию: '[Django] '
Префикс для темы электронных сообщений, отправленных с django.core.mail.mail_admins или django.core.mail.mail_managers. Вероятно, вам потребуется включить завершающий пробел.
EMAIL_USE_LOCALTIME
По умолчанию: False
Отправлять ли заголовок SMTP Date электронных сообщений в часовом поясе компьютера (True) или в UTC (False).
EMAIL_USE_TLS
По умолчанию: False
Использовать ли TLS (безопасное) соединение при общении с SMTP-сервером. Используется для явных TLS-соединений, обычно на порту 587. Если у вас возникают проблемы с зависанием подключений, см. настройку неявного TLS EMAIL_USE_SSL.
EMAIL_USE_SSL
По умолчанию: False
Использовать ли неявное TLS (защищенное) соединение при работе с сервером SMTP. В большинстве документов по электронной почте этот тип TLS-соединения называется SSL. Обычно используется на порту 465. Если у вас возникают проблемы, см. настройку явного TLS EMAIL_USE_TLS.
Обратите внимание, что EMAIL_USE_TLS/EMAIL_USE_SSL взаимоисключающие, поэтому установите только одно из этих значений в True.
EMAIL_SSL_CERTFILE
По умолчанию: None
Если EMAIL_USE_SSL или EMAIL_USE_TLS равно True, вы можете указать путь к файлу цепочки сертификатов в формате PEM для использования в соединении SSL.
EMAIL_SSL_KEYFILE
По умолчанию: None
Если EMAIL_USE_SSL или EMAIL_USE_TLS равно True, вы можете указать путь к файлу закрытого ключа в формате PEM для использования в соединении SSL.
Обратите внимание, что установка EMAIL_SSL_CERTFILE и EMAIL_SSL_KEYFILE не приводит к проверке сертификата. Они передаются в базовое SSL-соединение. Обратитесь к документации функции Python ssl.SSLContext.wrap_socket() для получения подробной информации о том, как обрабатываются файл цепочки сертификатов и файл закрытого ключа.
EMAIL_TIMEOUT
По умолчанию: None
Устанавливает таймаут в секундах для блокирующих операций, таких как попытка подключения.
FILE_UPLOAD_HANDLERS
По умолчанию:
[
"django.core.files.uploadhandler.MemoryFileUploadHandler",
"django.core.files.uploadhandler.TemporaryFileUploadHandler",
]
Список обработчиков для использования при загрузке. Изменение этой настройки позволяет полностью настроить — даже заменить — процесс загрузки Django.
Подробную информацию см. в разделе Управление файлами.
FILE_UPLOAD_MAX_MEMORY_SIZE
По умолчанию: 2621440 (т. е. 2,5 МБ).
Максимальный размер (в байтах), после которого загрузка будет передаваться в файловую систему в виде потока. Подробную информацию см. в разделе Управление файлами.
См. также DATA_UPLOAD_MAX_MEMORY_SIZE.
FILE_UPLOAD_DIRECTORY_PERMISSIONS
По умолчанию: None
Числовой режим, применяемый к каталогам, созданным в процессе загрузки файлов.
Эта настройка также определяет стандартные разрешения для собранных статических каталогов при использовании команды управления collectstatic. Подробную информацию об изменении этого значения см. в collectstatic.
Это значение отражает функциональность и замечания настройки FILE_UPLOAD_PERMISSIONS.
FILE_UPLOAD_PERMISSIONS
По умолчанию: 0o644
Числовой режим (т. е. 0o644) для вновь загружаемых файлов. Более подробную информацию о значениях этих режимов см. в документации os.chmod().
Если None, будет использоваться поведение, зависящее от операционной системы. На большинстве платформ временные файлы будут иметь режим 0o600, а файлы, сохранённые из памяти, будут сохранены с помощью стандартной маски umask системы.
По соображениям безопасности эти разрешения не применяются к временным файлам, хранящимся в FILE_UPLOAD_TEMP_DIR.
Эта настройка также определяет стандартные разрешения для собранных статических файлов при использовании команды управления collectstatic. Подробную информацию об изменении этого значения см. в collectstatic.
Предупреждение
Всегда используйте префикс 0o .
Если вы не знакомы с режимами файлов, обратите внимание, что префикс 0o очень важен: он указывает на восьмеричное число, которое является способом указания режимов. Если вы попробуете использовать 644, у вас возникнет совершенно неправильное поведение.
FILE_UPLOAD_TEMP_DIR
По умолчанию: None
Каталог для временного хранения данных (обычно файлов, больших чем FILE_UPLOAD_MAX_MEMORY_SIZE) при загрузке файлов. Если None, Django будет использовать стандартный временный каталог операционной системы. Например, по умолчанию это будет /tmp на операционных системах *nix.
Подробную информацию см. в разделе Управление файлами.
FIRST_DAY_OF_WEEK
По умолчанию: 0 (воскресенье)
Число, представляющее первый день недели. Это особенно полезно при отображении календаря. Это значение используется только в том случае, если не используется форматирование международной локализации или если формат не найден для текущей локали.
Значение должно быть целым числом от 0 до 6, где 0 означает воскресенье, 1 — понедельник и так далее.
FIXTURE_DIRS
По умолчанию: [] (пустой список)
Список каталогов, которые проверяются на наличие файлов шаблонов помимо каталога fixtures каждого приложения, в порядке поиска.
Обратите внимание, что эти пути должны использовать косые черты (/) даже в Windows.
См. Предоставление данных с помощью шаблонов и Загрузка шаблонов.
FORCE_SCRIPT_NAME
По умолчанию: None
Если не None, это значение будет использоваться в качестве значения переменной среды SCRIPT_NAME в любом запросе HTTP. Эта настройка может использоваться для переопределения значения, предоставляемого сервером SCRIPT_NAME, которое может быть переписанной версией предпочтительного значения или вообще не предоставляться. Она также используется django.setup() для установки префикса скрипта решателя URL вне цикла запроса/ответа (например, в командах управления и автономных скриптах) для генерации правильных URL-адресов, когда FORCE_SCRIPT_NAME предоставлено.
FORM_RENDERER
По умолчанию: 'django.forms.renderers.DjangoTemplates'
Класс, который отображает формы и виджеты форм. Он должен реализовывать API низкоуровневого отображения. Доступные обработчики форм:
-
'django.forms.renderers.DjangoTemplates' -
'django.forms.renderers.Jinja2' -
'django.forms.renderers.TemplatesSetting'
FORMS_URLFIELD_ASSUME_HTTPS
Устарело начиная с версии 5.0.
По умолчанию: False
Установите эту переходную настройку в True для перехода к использованию "https" в качестве нового значения по умолчанию для URLField.assume_scheme в цикле выпуска Django 5.x.
FORMAT_MODULE_PATH
По умолчанию: None
Полный путь к Python-пакету, содержащему пользовательские определения форматов для локали проекта. Если не None, Django будет искать файл formats.py, в каталоге с именем текущей локали, и использовать форматы, определенные в этом файле.
Имя каталога, содержащего определения форматов, ожидается в формате имени локали, например de, pt_BR, en_US, и т. д.
Например, если FORMAT_MODULE_PATH установлено в mysite.formats, а текущий язык en (английский), Django ожидает структуру каталогов:
mysite/
formats/
__init__.py
en/
__init__.py
formats.py
Вы также можете установить эту настройку в список путей Python, например:
FORMAT_MODULE_PATH = [
"mysite.formats",
"some_app.formats",
]
Когда Django ищет определенный формат, он перебирает все указанные пути Python до тех пор, пока не найдет модуль, который фактически определяет этот формат. Это означает, что форматы, определенные в пакетах, расположенных выше в списке, будут иметь приоритет перед форматами в пакетах, расположенных ниже.
Доступные форматы:
DATE_FORMATDATE_INPUT_FORMATS-
DATETIME_FORMAT, DATETIME_INPUT_FORMATSDECIMAL_SEPARATORFIRST_DAY_OF_WEEKMONTH_DAY_FORMATNUMBER_GROUPINGSHORT_DATE_FORMATSHORT_DATETIME_FORMATTHOUSAND_SEPARATORTIME_FORMATTIME_INPUT_FORMATSYEAR_MONTH_FORMAT
IGNORABLE_404_URLS
Значение по умолчанию: [] (пустой список)
Список скомпилированных объектов регулярных выражений, описывающих URL-адреса, которые следует игнорировать при сообщении об ошибках HTTP 404 по электронной почте (см. Как управлять отчетами об ошибках). Регулярные выражения сопоставляются с request's full paths (включая строку запроса, если таковая имеется). Используйте этот параметр, если ваш сайт не предоставляет часто запрашиваемый файл, например favicon.ico или robots.txt.
Используется только в том случае, если BrokenLinkEmailsMiddleware включён (см. Средства промежуточного слоя).
INSTALLED_APPS
Значение по умолчанию: [] (пустой список)
Список строк, обозначающих все приложения, включённые в данной установке Django. Каждая строка должна быть полным именем пути к:
- классу конфигурации приложения (предпочтительный вариант), или
- пакету, содержащему приложение.
Дополнительные сведения о конфигурациях приложений.
Используйте реестр приложений для интроспекции
Ваш код никогда не должен напрямую обращаться к INSTALLED_APPS. Используйте django.apps.apps вместо этого.
Имена и метки приложений должны быть уникальными в INSTALLED_APPS
Имя приложения names — полное имя пути к пакету приложения — должно быть уникальным. Нет возможности включить одно и то же приложение дважды, кроме дублирования его кода под другим именем.
Имя приложения labels — по умолчанию последняя часть имени — также должно быть уникальным. Например, вы не можете включить как django.contrib.auth , так и myproject.auth. Однако вы можете переименовать приложение с помощью настраиваемой конфигурации, которая определяет другое label.
Эти правила действуют независимо от того, ссылается ли INSTALLED_APPS на классы конфигурации приложений или пакеты приложений.
Когда несколько приложений предоставляют различные версии одного и того же ресурса (шаблона, статического файла, команды управления, перевода), приложение, перечисленное первым в INSTALLED_APPS, имеет приоритет.
INTERNAL_IPS
Значение по умолчанию: [] (пустой список)
Список IP-адресов, как строк, которые:
- Разрешают процессору контекста
debug()добавлять некоторые переменные в контекст шаблона. - Позволяют использовать закладки admindocs bookmarklets, даже если вы не вошли в систему как пользователь с правами администратора.
- Отмечаются как «внутренние» (в отличие от «ВНЕШНИЕ») в электронных письмах
AdminEmailHandler.
LANGUAGE_CODE
Значение по умолчанию: 'en-us'
Строка, представляющая язык для этой установки. Она должна быть в стандартном формате идентификатора языка. Например, американский английский — "en-us". Также см. список идентификаторов языков и Международная поддержка и локализация.
Выполняет три функции:
- Если среда локализации не используется, она определяет, какой перевод будет показан всем пользователям.
- Если среда локализации активна, она обеспечивает резервный язык в случае, если предпочтительный язык пользователя не может быть определён или не поддерживается веб-сайтом. Она также предоставляет резервный перевод, если для данного литерала нет перевода на предпочтительный язык пользователя.
- Если локализация явно отключена с помощью фильтра
unlocalizeили тега{% localize off %}, она обеспечивает форматы резервной локализации, которые будут применяться вместо них. Подробности см. в управлении локализациями в шаблонах.
Дополнительные сведения см. в разделе Как Django определяет предпочтительный язык.
LANGUAGE_COOKIE_AGE
Срок действия языка cookie в секундах.
LANGUAGE_COOKIE_DOMAIN
Домен для языка cookie. Установите его в строку, например "example.com", для cookie разных доменов, или используйте None для стандартного cookie одного домена.
Будьте осторожны при обновлении этого параметра на рабочем сайте. Если вы обновите этот параметр, чтобы включить cookie разных доменов на сайте, который ранее использовал cookie одного домена, существующие cookie пользователей со старым доменом не будут обновлены. Это приведёт к невозможности переключения языка для пользователей сайта до тех пор, пока эти cookie не истекут. Единственный безопасный и надёжный способ выполнения переключения — это изменение имени cookie языка на постоянной основе (через параметр LANGUAGE_COOKIE_NAME) и добавление средства промежуточного слоя, которое скопирует значение из старого cookie в новый, а затем удалит старый.
LANGUAGE_COOKIE_HTTPONLY
Использовать ли флаг HttpOnly для cookie языка. Если значение установлено в True, клиентский JavaScript не сможет получить доступ к cookie языка.
См. SESSION_COOKIE_HTTPONLY для получения дополнительных сведений о HttpOnly.
LANGUAGE_COOKIE_NAME
Имя cookie для языка. Может быть любым (пока оно отличается от других имён cookie в вашем приложении). См. Международная поддержка и локализация.
LANGUAGE_COOKIE_PATH
Путь, установленный в cookie языка. Должен соответствовать пути URL вашей установки Django или быть подпутем этого пути.
Это полезно, если у вас несколько установок Django работают под одним именем хоста. Они могут использовать разные пути cookie, и каждая установка будет видеть только свои cookie языка.
Будьте осторожны при обновлении этого параметра на рабочем сайте. Если вы обновите этот параметр, чтобы использовать более глубокий путь, чем раньше, существующие cookie пользователей со старым путём не будут обновлены. Это приведёт к невозможности переключения языка для пользователей сайта до тех пор, пока эти cookie не истекут. Единственный безопасный и надёжный способ выполнения переключения — изменение имени cookie языка на постоянной основе (через параметр LANGUAGE_COOKIE_NAME) и добавление средства промежуточного слоя, которое скопирует значение из старого cookie в новый, а затем удалит старый.
LANGUAGE_COOKIE_SAMESITE
Значение флага SameSite в cookie языка. Этот флаг предотвращает отправку cookie в межсайтовых запросах.
См. SESSION_COOKIE_SAMESITE для получения дополнительных сведений о SameSite.
LANGUAGE_COOKIE_SECURE
Использовать ли защищённый cookie для языка. Если это значение установлено в True, cookie будет помечен как «защищённый», что означает, что браузеры могут гарантировать, что cookie будет отправлен только по HTTPS-соединению.
LANGUAGES
По умолчанию: список всех доступных языков. Этот список постоянно пополняется, и включение копии неизбежно быстро устареет. Текущий список переведённых языков можно посмотреть в django/conf/global_settings.py.
Список представляет собой список пар 2-кортежей в формате (код языка, language name) – например, ('ja', 'Japanese'). Это определяет, какие языки доступны для выбора. Смотрите Международная и локальная поддержка.
В целом, значения по умолчанию достаточно. Изменяйте это значение только если хотите ограничить выбор языка подмножеством языков, предоставленных Django.
Если вы определяете пользовательское значение настройки LANGUAGES, имена языков можно пометить как строки перевода, используя функцию gettext_lazy().
Вот пример файла настроек:
from django.utils.translation import gettext_lazy as _
LANGUAGES = [
("de", _("German")),
("en", _("English")),
]
LANGUAGES_BIDI
По умолчанию: список всех кодов языков, которые пишутся справа налево. Текущий список этих языков можно посмотреть в django/conf/global_settings.py.
Список содержит коды языков языков, которые пишутся справа налево.
В целом, значения по умолчанию достаточно. Изменяйте это значение только если хотите ограничить выбор языка подмножеством языков, предоставленных Django. Если вы определяете пользовательское значение настройки LANGUAGES, список двунаправленных языков может содержать коды языков, которые не включены на данном сайте.
LOCALE_PATHS
По умолчанию: [] (Пустой список)
Список каталогов, в которых Django ищет файлы переводов. Смотрите Как Django находит переводы.
Пример:
LOCALE_PATHS = [
"/home/www/project/common_files/locale",
"/var/local/translations/locale",
]
Django будет искать в каждом из этих путей каталоги <locale_code>/LC_MESSAGES с фактическими файлами переводов.
LOGGING
По умолчанию: словарь конфигурации логирования.
Структура данных, содержащая конфигурационную информацию. Если не пусто, содержимое этой структуры данных будет передано в качестве аргумента к методу конфигурации, описанному в LOGGING_CONFIG.
В частности, конфигурация журнала по умолчанию отправляет ошибки сервера HTTP 500 в обработчик журналов электронной почты, когда DEBUG равно False. См. также Настройка логирования.
Вы можете посмотреть конфигурацию логирования по умолчанию в django/utils/log.py.
LOGGING_CONFIG
По умолчанию: 'logging.config.dictConfig'
Путь к вызываемому объекту, который будет использоваться для настройки логирования в проекте Django. По умолчанию ссылается на метод конфигурации dictConfig Python.
Если вы установите LOGGING_CONFIG на None, процесс конфигурации логирования будет пропущен.
MANAGERS
По умолчанию: [] (Пустой список)
Список в том же формате, что и ADMINS, который указывает, кому следует получать уведомления о сломанных ссылках, когда BrokenLinkEmailsMiddleware включён.
MEDIA_ROOT
По умолчанию: '' (Пустая строка)
Абсолютный путь к каталогу файловой системы, который будет содержать загруженные пользователем файлы.
Пример: "/var/www/example.com/media/"
См. также MEDIA_URL.
Предупреждение
MEDIA_ROOT и STATIC_ROOT должны иметь разные значения. До введения STATIC_ROOT было принято полагаться или переходить на MEDIA_ROOT для обслуживания статических файлов; однако, поскольку это может иметь серьёзные последствия для безопасности, есть проверка на валидацию, чтобы предотвратить это.
MEDIA_URL
По умолчанию: '' (Пустая строка)
URL, обрабатывающий медиафайлы, которые обслуживаются из MEDIA_ROOT, используемый для управления хранящимися файлами. Он должен заканчиваться слешем, если задано ненулевое значение. Вам необходимо настроить эти файлы для их обслуживания как в средах разработки, так и в средах производства.
Если вы хотите использовать {{ MEDIA_URL }} в своих шаблонах, добавьте 'django.template.context_processors.media' в параметр 'context_processors' в настройках TEMPLATES.
Пример: "https://media.example.com/"
Предупреждение
Существуют риски безопасности, если вы принимаете загружаемое содержимое от ненадежных пользователей! Подробности об устранении последствий см. в разделе руководства по безопасности о безопасности пользовательского содержимого.
Предупреждение
MEDIA_URL и STATIC_URL должны иметь разные значения. См. MEDIA_ROOT для получения дополнительной информации.
Примечание
Если MEDIA_URL — это относительный путь, он будет префиксным значением, предоставляемым сервером, SCRIPT_NAME, (или /, если не установлено). Это упрощает обслуживание приложения Django в подпути без добавления дополнительной конфигурации в настройки.
MIDDLEWARE
По умолчанию: None
Список используемых сред. См. Средние.
MIGRATION_MODULES
По умолчанию: {} (Пустой словарь)
Словарь, определяющий пакет, в котором можно найти модули миграции по приложениям. Значение по умолчанию этого параметра — пустой словарь, но имя пакета по умолчанию для модулей миграции — migrations.
Пример:
{"blog": "blog.db_migrations"}
В этом случае миграции, относящиеся к приложению blog, будут содержаться в пакете blog.db_migrations.
Если вы предоставите аргумент app_label, makemigrations автоматически создаст пакет, если он ещё не существует.
Когда вы задаёте None в качестве значения для приложения, Django будет считать приложение приложением без миграций, независимо от наличия подмодуля migrations. Это можно использовать, например, в файле настроек для тестирования, чтобы пропустить миграции во время тестирования (таблицы всё равно будут создаваться для моделей приложений). Чтобы отключить миграции для всех приложений во время тестирования, можно установить MIGRATE в False. Если MIGRATION_MODULES используется в ваших общих настройках проекта, не забудьте использовать опцию migrate --run-syncdb, если вы хотите создать таблицы для приложения.
MONTH_DAY_FORMAT
По умолчанию: 'F j'
Форматирование по умолчанию для полей дат на страницах изменения списка Django admin – и, возможно, в других частях системы – в тех случаях, когда отображаются только месяц и день.
Например, когда страница изменения списка Django admin фильтруется по детализации даты, заголовок для определённого дня отображает день и месяц. Разные языковые среды имеют разные форматы. Например, для английского США это будет «январь 1», а для испанского – «1 января».
Обратите внимание, что соответствующий формат, указанный в языковой среде, имеет более высокий приоритет и будет применён вместо него.
См. allowed date format strings. Также см. DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и YEAR_MONTH_FORMAT.
NUMBER_GROUPING
По умолчанию: 0
Количество цифр, сгруппированных вместе в целой части числа.
Общее использование — для отображения разделителя тысяч. Если это значение равно 0, то к числу не будет применено группирование. Если это значение больше, чем 0, то THOUSAND_SEPARATOR будет использоваться в качестве разделителя между группами.
Некоторые языковые среды используют неравномерную группировку цифр, например, 10,00,00,000 в en_IN. В этом случае вы можете указать последовательность с количеством размеров групп цифр, которые нужно применить. Первое число определяет размер группы, предшествующей десятичному разделителю, а каждое последующее число определяет размер предшествующих групп. Если последовательность завершается -1, дальнейшая группировка не выполняется. Если последовательность завершается 0, размер последней группы используется для остальной части числа.
Пример кортежа для en_IN:
NUMBER_GROUPING = (3, 2, 0)
Обратите внимание, что формат, заданный языковой средой, имеет больший приоритет и будет применен вместо него.
См. также DECIMAL_SEPARATOR, THOUSAND_SEPARATOR и USE_THOUSAND_SEPARATOR.
PREPEND_WWW
По умолчанию: False
Добавлять ли префикс «www.» к домену URL-адресов, не содержащих его. Это используется только в том случае, если установлен CommonMiddleware (см. Средства промежуточного ПО). См. также APPEND_SLASH.
ROOT_URLCONF
По умолчанию: Не определено
Строка, представляющая полный путь импорта Python к вашему корневому URLconf, например "mydjangoapps.urls". Может быть переопределена для каждого запроса путем установки атрибута urlconf на входящий HttpRequest объект. Подробности см. в Как Django обрабатывает запрос.
SECRET_KEY
По умолчанию: '' (пустая строка)
Секретный ключ для конкретной установки Django. Используется для криптографического шифрования и должен быть уникальным, непредсказуемым значением.
django-admin startproject автоматически добавляет случайно сгенерированный SECRET_KEY в каждый новый проект.
При использовании ключа не следует предполагать, что это текст или байты. Каждое использование должно проходить через force_str() или force_bytes() для преобразования в нужный тип.
Django откажется от запуска, если SECRET_KEY не задан.
Предупреждение
Храните это значение в секрете.
Запуск Django с известным SECRET_KEY нарушает многие защитные механизмы Django и может привести к эскалации привилегий и уязвимостям удаленного выполнения кода.
Секретный ключ используется для:
- Всех сессий, если вы используете другой бэкэнд сессий, чем
django.contrib.sessions.backends.cache, или используете стандартныйget_session_auth_hash(). - Всех сообщений, если вы используете
CookieStorageилиFallbackStorage. - Все
PasswordResetViewтокены. - Любое использование криптографического шифрования, если не указан другой ключ.
Когда секретный ключ больше не задан как SECRET_KEY или не содержится в SECRET_KEY_FALLBACKS, все вышеперечисленное будет недействительно. При вращении секретного ключа временное перемещение старого ключа в SECRET_KEY_FALLBACKS необходимо. Секретные ключи не используются для паролей пользователей, и вращение ключей не повлияет на них.
Примечание
Созданный по умолчанию файл settings.py с помощью django-admin
startproject создает уникальный SECRET_KEY для удобства.
SECRET_KEY_FALLBACKS
По умолчанию: []
Список резервных секретных ключей для конкретной установки Django. Они используются для вращения SECRET_KEY.
Для вращения секретных ключей установите новый SECRET_KEY и поместите предыдущее значение в начало SECRET_KEY_FALLBACKS. Затем удалите старые значения из конца SECRET_KEY_FALLBACKS, когда вы готовы сделать сессии, токены сброса пароля и т. д., использующие их, недействительными.
Примечание
Операции шифрования вычислительно затратные. Наличие нескольких старых значений ключей в SECRET_KEY_FALLBACKS добавляет дополнительную нагрузку на все проверки, которые не соответствуют более раннему ключу.
Поэтому резервные значения следует удалять после соответствующего периода, позволяя вращать ключи.
При использовании значений секретного ключа не следует предполагать, что они являются текстом или байтами. Каждое использование должно проходить через force_str() или force_bytes() для преобразования в нужный тип.
SECURE_CONTENT_TYPE_NOSNIFF
По умолчанию: True
Если True, то SecurityMiddleware устанавливает заголовок X-Content-Type-Options: nosniff для всех ответов, у которых его ещё нет.
SECURE_CROSS_ORIGIN_OPENER_POLICY
По умолчанию: 'same-origin'
Если не установлено None, то SecurityMiddleware устанавливает заголовок Cross-Origin Opener Policy для всех ответов, у которых его ещё нет, с указанным значением.
SECURE_HSTS_INCLUDE_SUBDOMAINS
По умолчанию: False
Если True, SecurityMiddleware добавляет директиву includeSubDomains к заголовку HTTP Strict Transport Security. Она не имеет эффекта, если SECURE_HSTS_SECONDS не имеет ненулевого значения.
Предупреждение
Неправильная настройка может необратимо (для значения SECURE_HSTS_SECONDS) сломать ваш сайт. Сначала прочитайте документацию HTTP Strict Transport Security.
SECURE_HSTS_PRELOAD
По умолчанию: False
Если True, SecurityMiddleware добавляет директиву preload к заголовку HTTP Strict Transport Security. Она не имеет эффекта, если SECURE_HSTS_SECONDS не имеет ненулевого значения.
SECURE_HSTS_SECONDS
По умолчанию: 0
Если установлено ненулевое целое число, SecurityMiddleware устанавливает заголовок HTTP Strict Transport Security для всех ответов, у которых его ещё нет.
Предупреждение
Неправильная настройка может необратимо (на некоторое время) сломать ваш сайт. Сначала прочитайте документацию HTTP Strict Transport Security.
SECURE_PROXY_SSL_HEADER
По умолчанию: None
Кортеж, представляющий комбинацию HTTP-заголовка/значения, которая указывает, что запрос безопасный. Это контролирует поведение метода объекта запроса is_secure().
По умолчанию, is_secure() определяет, является ли запрос защищенным, подтверждая, что запрашиваемый URL использует https://. Этот метод важен для защиты от CSRF в Django и может использоваться собственным кодом или приложениями сторонних разработчиков.
Однако, если ваше приложение Django расположено за прокси-сервером, прокси-сервер может «поглощать» информацию о том, использует ли исходный запрос протокол HTTPS или нет. Если соединение между прокси-сервером и Django не использует HTTPS, то is_secure() всегда вернёт False — даже для запросов, которые были сделаны конечным пользователем через HTTPS. Напротив, если соединение между прокси-сервером и Django использует HTTPS, то is_secure() всегда вернёт True — даже для запросов, которые были первоначально сделаны через HTTP.
В этой ситуации настройте свой прокси-сервер на установку пользовательского HTTP-заголовка, который сообщит Django, пришёл ли запрос через HTTPS, и установите SECURE_PROXY_SSL_HEADER, чтобы Django знал, какой заголовок искать.
Установите кортеж из двух элементов — имя заголовка для поиска и требуемое значение. Например:
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
Это сообщает Django доверять заголовку X-Forwarded-Proto, который поступает от нашего прокси-сервера, и что запрос гарантированно является безопасным (т.е. он первоначально пришёл через HTTPS), когда:
- значение заголовка равно
'https', или - его начальное, самое левое значение равно
'https'в случае списка протоколов, разделённых запятыми (например,'https,http,http').
Вы должны устанавливать эту настройку только в том случае, если вы контролируете свой прокси-сервер или у вас есть гарантии, что он корректно устанавливает/удаляет этот заголовок.
Обратите внимание, что заголовок должен быть в формате, используемом request.META — все заглавные буквы и, вероятно, начинающийся с HTTP_. (Помните, что Django автоматически добавляет 'HTTP_' в начало имён x-заголовков перед тем, как сделать заголовок доступным в request.META.)
Предупреждение
Изменение этой настройки может поставить под угрозу безопасность вашего сайта. Убедитесь, что вы полностью понимаете свою настройку, прежде чем её изменять.
Убедитесь, что ВСЕ из следующего верно, прежде чем устанавливать это (предполагая значения из примера выше):
- Ваше приложение Django расположено за прокси-сервером.
- Ваш прокси-сервер удаляет заголовок
X-Forwarded-Protoиз всех входящих запросов, даже когда он содержит список протоколов, разделённых запятыми. Другими словами, если конечные пользователи включают этот заголовок в свои запросы, прокси-сервер его удалит. - Ваш прокси-сервер устанавливает заголовок
X-Forwarded-Protoи отправляет его Django, но только для запросов, которые первоначально пришли через HTTPS.
Если хотя бы одно из этих условий не выполняется, вы должны оставить эту настройку установленной в None и найти другой способ определения HTTPS, возможно, используя пользовательский middleware.
SECURE_REDIRECT_EXEMPT
Значение по умолчанию: [] (Пустой список)
Если путь к URL соответствует регулярному выражению в этом списке, запрос не будет перенаправлен на HTTPS. SecurityMiddleware удаляет ведущие косые черты из путей URL, поэтому шаблоны не должны их содержать, например SECURE_REDIRECT_EXEMPT = [r'^no-ssl/$', …]. Если SECURE_SSL_REDIRECT равно False, эта настройка не оказывает никакого влияния.
SECURE_REFERRER_POLICY
Значение по умолчанию: 'same-origin'
При наличии конфигурации SecurityMiddleware устанавливает заголовок Referrer Policy на все ответы, которые его ещё не имеют, с заданным значением.
SECURE_SSL_HOST
Значение по умолчанию: None
Если строка (например, secure.example.com), все перенаправления SSL будут направлены на этот хост вместо первоначально запрошенного хоста (например, www.example.com). Если SECURE_SSL_REDIRECT равно False, эта настройка не оказывает никакого влияния.
SECURE_SSL_REDIRECT
Значение по умолчанию: False
Если True, SecurityMiddleware перенаправляет все запросы без HTTPS на HTTPS (за исключением URL-адресов, соответствующих регулярному выражению в списке SECURE_REDIRECT_EXEMPT).
Примечание
Если изменение на True приводит к бесконечным перенаправлениям, это, вероятно, означает, что ваш сайт работает за прокси-сервером, который не может определить, какие запросы безопасны, а какие нет. Ваш прокси-сервер, вероятно, устанавливает заголовок для указания безопасных запросов; вы можете исправить проблему, выяснив, какой это заголовок, и настроив настройку SECURE_PROXY_SSL_HEADER соответствующим образом.
SERIALIZATION_MODULES
Значение по умолчанию: Не определено
Словарь модулей, содержащих определения сериализаторов (указанные как строки), с ключами, представляющими строковый идентификатор типа сериализации. Например, чтобы определить сериализатор YAML, используйте:
SERIALIZATION_MODULES = {"yaml": "path.to.yaml_serializer"}
SERVER_EMAIL
Значение по умолчанию: 'root@localhost'
Электронный адрес, с которого отправляются сообщения об ошибках, такие как те, которые отправляются ADMINS и MANAGERS. Этот адрес используется в заголовке From: и может иметь любой формат, допустимый в выбранном протоколе отправки электронных сообщений.
Почему мои электронные письма отправляются с другого адреса?
Этот адрес используется только для сообщений об ошибках. Это не адрес, с которого отправляются обычные электронные сообщения с помощью send_mail(); для этого, см. DEFAULT_FROM_EMAIL.
SHORT_DATE_FORMAT
Значение по умолчанию: 'm/d/Y' (например, 12/31/2003)
Доступный формат, который можно использовать для отображения полей даты в шаблонах. Обратите внимание, что соответствующий формат, заданный локалью, имеет более высокий приоритет и будет применяться вместо него. См. allowed date format strings.
См. также DATE_FORMAT и SHORT_DATETIME_FORMAT.
SHORT_DATETIME_FORMAT
Значение по умолчанию: 'm/d/Y P' (например, 12/31/2003 4 p.m.)
Доступный формат, который можно использовать для отображения полей datetime в шаблонах. Обратите внимание, что соответствующий формат, заданный локалью, имеет более высокий приоритет и будет применяться вместо него. См. allowed date format strings.
См. также DATE_FORMAT и SHORT_DATE_FORMAT.
SIGNING_BACKEND
Значение по умолчанию: 'django.core.signing.TimestampSigner'
Бэкенд, используемый для подписи cookie и других данных.
См. также документацию по Криптографической подписи.
SILENCED_SYSTEM_CHECKS
Значение по умолчанию: [] (Пустой список)
Список идентификаторов сообщений, сгенерированных системой проверки (т.е. ["models.W001"]), которые вы хотите постоянно игнорировать. Заглушённые проверки не будут выводиться в консоль.
См. также документацию по Системе проверки.
STORAGES
Значение по умолчанию:
{
"default": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
},
"staticfiles": {
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage",
},
}
Словарь, содержащий настройки всех хранилищ, которые будут использоваться с Django. Это вложенный словарь, чьи элементы сопоставляют псевдоним хранилища со словарем, содержащим опции для отдельного хранилища.
Хранилища могут иметь любой выбранный вами псевдоним. Однако есть два псевдонима со специальным значением:
-
defaultдля управления файлами.'django.core.files.storage.FileSystemStorage'— это движок хранилища по умолчанию. -
staticfilesдля управления статическими файлами.'django.contrib.staticfiles.storage.StaticFilesStorage'— это движок хранилища по умолчанию.
Следующий пример settings.py фрагмент кода определяет пользовательское хранилище файлов, называемое example:
STORAGES = {
# ...
"example": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
"OPTIONS": {
"location": "/example",
"base_url": "/example/",
},
},
}
OPTIONS передаются в BACKEND при инициализации в **kwargs.
Готовый экземпляр хранилища бэкенда можно получить из django.core.files.storage.storages. Используйте ключ, соответствующий определению бэкенда в STORAGES.
Объединяется ли моё значение с значением по умолчанию?
Определение этой настройки переопределяет значение по умолчанию и не объединяется с ним.
TEMPLATES
Значение по умолчанию: [] (Пустой список)
Список, содержащий настройки всех движков шаблонов, которые будут использоваться с Django. Каждый элемент списка — это словарь, содержащий опции для отдельного движка.
Вот настройка, которая сообщает Django движку шаблонов загружать шаблоны из подкаталога templates внутри каждого установленного приложения:
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"APP_DIRS": True,
},
]
Следующие опции доступны для всех бэкендов.
BACKEND
По умолчанию: Не определено
Шаблонный бэкенд для использования. Встроенные шаблонные бэкенды:
'django.template.backends.django.DjangoTemplates''django.template.backends.jinja2.Jinja2'
Можно использовать шаблонный бэкенд, который не поставляется с Django, установив BACKEND на полный путь (т.е. 'mypackage.whatever.Backend').
NAME
По умолчанию: см. ниже
Псевдоним для этого конкретного движка шаблонов. Это идентификатор, который позволяет выбрать движок для рендеринга. Псевдонимы должны быть уникальными для всех настроенных движков шаблонов.
По умолчанию он принимает имя модуля, определяющего класс движка, т.е. предпоследнюю часть BACKEND, если оно не предоставлено. Например, если бэкенд 'mypackage.whatever.Backend', то его имя по умолчанию 'whatever'.
DIRS
По умолчанию: [] (Пустой список)
Директории, в которых движок должен искать файлы шаблонов в порядке поиска.
APP_DIRS
По умолчанию: False
Нужно ли движку искать файлы шаблонов внутри установленных приложений.
Примечание
По умолчанию файл settings.py созданный django-admin
startproject устанавливает 'APP_DIRS': True.
OPTIONS
По умолчанию: {} (Пустой словарь)
Дополнительные параметры для передачи в шаблонный бэкенд. Доступные параметры зависят от шаблонного бэкенда. См. DjangoTemplates и Jinja2 для опций встроенных бэкендов.
TEST_RUNNER
По умолчанию: 'django.test.runner.DiscoverRunner'
Имя класса, используемого для запуска набора тестов. См. Использование различных фреймворков тестирования.
TEST_NON_SERIALIZED_APPS
По умолчанию: [] (Пустой список)
Для восстановления состояния базы данных между тестами для TransactionTestCase и баз данных бэкендов без транзакций Django будет сериализовать содержимое всех приложений при запуске набора тестов, чтобы затем загрузить его из этой копии перед запуском тестов, которые это требуют.
Это замедляет время запуска тестового исполнителя; если у вас есть приложения, которые, как известно, не нуждаются в этой функции, вы можете добавить их полные имена сюда (например, 'django.contrib.contenttypes'), чтобы исключить их из этого процесса сериализации.
THOUSAND_SEPARATOR
По умолчанию: ',' (Запятая)
Разделитель тысяч по умолчанию, используемый при форматировании чисел. Этот параметр используется только тогда, когда USE_THOUSAND_SEPARATOR равен True, а NUMBER_GROUPING больше 0. Обратите внимание, что локаль-диктованный формат имеет более высокий приоритет и будет применен вместо него.
См. также NUMBER_GROUPING, DECIMAL_SEPARATOR и USE_THOUSAND_SEPARATOR.
TIME_FORMAT
По умолчанию: 'P' (например, 4 p.m.)
Формат отображения полей времени в любой части системы. Обратите внимание, что локаль-диктованный формат имеет более высокий приоритет и будет применен вместо него. См. allowed date format strings.
См. также DATE_FORMAT и DATETIME_FORMAT.
TIME_INPUT_FORMATS
По умолчанию:
[
"%H:%M:%S", # '14:30:59'
"%H:%M:%S.%f", # '14:30:59.000200'
"%H:%M", # '14:30'
]
Список форматов, которые будут приняты при вводе данных в поле времени. Форматы будут пробоваться в порядке, используя первый действительный. Обратите внимание, что эти строковые форматы используют синтаксис модуля Python datetime, а не форматы строк из фильтра шаблона date.
Локаль-диктованный формат имеет более высокий приоритет и будет применён вместо него.
См. также DATE_INPUT_FORMATS и DATETIME_INPUT_FORMATS.
TIME_ZONE
По умолчанию: 'America/Chicago'
Строка, представляющая часовой пояс для данной установки. См. список часовых поясов.
Примечание
Так как Django был выпущен с TIME_ZONE, установленным на 'America/Chicago', глобальная настройка (используется, если ничего не определено в вашем проекте settings.py) остаётся 'America/Chicago' для обратной совместимости. Новые шаблоны проектов по умолчанию 'UTC'.
Обратите внимание, что это не обязательно часовой пояс сервера. Например, один сервер может обслуживать несколько сайтов на Django, каждый со своей настройкой часового пояса.
Когда USE_TZ равно False, это часовой пояс, в котором Django будет хранить все даты и время. Когда USE_TZ равно True, это часовой пояс по умолчанию, который Django будет использовать для отображения дат и времени в шаблонах и для интерпретации дат и времени, вводимых в формы.
В средах Unix (где time.tzset() реализован), Django устанавливает переменную os.environ['TZ'] на часовой пояс, который вы указали в настройке TIME_ZONE. Таким образом, все ваши представления и модели будут автоматически работать в этом часовом поясе. Однако Django не установит переменную среды TZ, если вы используете вариант ручной настройки, как описано в ручной настройке настроек. Если Django не установит переменную среды TZ, вам необходимо убедиться, что ваши процессы работают в правильной среде.
Примечание
Django не может надёжно использовать альтернативные часовые пояса в среде Windows. Если вы запускаете Django в Windows, TIME_ZONE должен быть настроен в соответствии с системным часовым поясом.
USE_I18N
По умолчанию: True
Булево значение, указывающее, должен ли быть включен механизм перевода Django. Это предоставляет способ выключить его для повышения производительности. Если это установлено в False, Django выполнит некоторые оптимизации, чтобы не загружать механизм перевода.
См. также LANGUAGE_CODE и USE_TZ.
Примечание
По умолчанию файл settings.py созданный django-admin
startproject включает USE_I18N = True для удобства.
USE_THOUSAND_SEPARATOR
По умолчанию: False
Булево значение, указывающее, нужно ли отображать числа с разделителем тысяч. При установке в True, Django будет форматировать числа с использованием настроек NUMBER_GROUPING и THOUSAND_SEPARATOR. Последние две настройки также могут быть определены локалью, которая имеет приоритет.
См. также DECIMAL_SEPARATOR, NUMBER_GROUPING и THOUSAND_SEPARATOR.
USE_TZ
По умолчанию: True
Булево значение, указывающее, будут ли даты и время по умолчанию с учётом часового пояса или нет. Если установлено в True, Django будет использовать даты и время с учётом часового пояса внутри.
Когда USE_TZ равно False, Django будет использовать даты и время без учёта часового пояса в местном времени, за исключением случаев парсинга строк в формате ISO 8601, где информация о часовом поясе всегда будет сохранена, если она есть.
См. также TIME_ZONE и USE_I18N.
В более старых версиях значение по умолчанию False.
USE_X_FORWARDED_HOST
По умолчанию: False
Булево значение, указывающее, следует ли использовать заголовок X-Forwarded-Host в приоритете перед заголовком Host. Это следует включить только если используется прокси, который устанавливает этот заголовок.
Эта настройка имеет приоритет над USE_X_FORWARDED_PORT. Согласно RFC 7239#section-5.3, заголовок X-Forwarded-Host может включать номер порта, в этом случае не следует использовать USE_X_FORWARDED_PORT.
USE_X_FORWARDED_PORT
По умолчанию: False
Логическое значение, определяющее, использовать ли заголовок X-Forwarded-Port вместо переменной SERVER_PORT META. Это следует включать только в том случае, если используется прокси, который устанавливает этот заголовок.
USE_X_FORWARDED_HOST имеет приоритет перед этим параметром.
WSGI_APPLICATION
По умолчанию: None
Полный путь к объекту WSGI-приложения Python, который будут использовать встроенные серверы Django (например, runserver). Команда управления django-admin
startproject создаст стандартный файл wsgi.py, содержащий вызываемый объект application, и назначит этот параметр этому файлу application
Если не задано, будет использовано значение, возвращаемое django.core.wsgi.get_wsgi_application(). В этом случае поведение runserver будет идентичным предыдущим версиям Django.
YEAR_MONTH_FORMAT
По умолчанию: 'F Y'
Формат по умолчанию для полей даты на страницах изменения списка административной панели Django — и, возможно, другими частями системы — в случаях, когда отображаются только год и месяц.
Например, когда страница изменения списка Django admin отфильтрована по дате, заголовок для определенного месяца отображает месяц и год. Разные языковые локали имеют разные форматы. Например, в английском (США) это будет «January 2006», а в другой локали это может быть «2006/January».
Обратите внимание, что соответствующий формат, диктуемый языковой локалью, имеет более высокий приоритет и будет применён вместо него.
См. allowed date format strings. См. также DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и MONTH_DAY_FORMAT.
X_FRAME_OPTIONS
По умолчанию: 'DENY'
Значение по умолчанию для заголовка X-Frame-Options, используемого XFrameOptionsMiddleware. См. документацию по защите от clickjacking.
Авторизация
Параметры для django.contrib.auth.
AUTHENTICATION_BACKENDS
По умолчанию: ['django.contrib.auth.backends.ModelBackend']
Список классов бэкэндов аутентификации (как строки) для использования при попытке аутентификации пользователя. Подробности см. в документации по бэкэндам аутентификации.
AUTH_USER_MODEL
По умолчанию: 'auth.User'
Модель для представления пользователя. См. Замена пользовательской модели.
Предупреждение
Вы не можете изменить настройку AUTH_USER_MODEL в течение срока действия проекта (то есть после создания и миграции моделей, зависящих от неё) без значительных усилий. Она предназначена для настройки на начальном этапе проекта, и модель, на которую она ссылается, должна быть доступна в первой миграции приложения, в котором она находится. Подробнее см. Замена пользовательской модели.
LOGIN_REDIRECT_URL
По умолчанию: '/accounts/profile/'
URL или имя URL шаблона, на который перенаправляются запросы после входа в систему, когда LoginView не получает параметр next GET.
LOGIN_URL
По умолчанию: '/accounts/login/'
URL или имя URL шаблона, на который перенаправляются запросы для входа в систему при использовании декоратора login_required(), LoginRequiredMixin, AccessMixin или при установке LoginRequiredMiddleware.
LOGOUT_REDIRECT_URL
По умолчанию: None
URL или имя URL шаблона, на который перенаправляются запросы после выхода из системы, если LogoutView не имеет атрибута next_page
Если None, перенаправления не будет, и будет отображено представление выхода.
PASSWORD_RESET_TIMEOUT
По умолчанию: 259200 (3 дня, в секундах)
Количество секунд, в течение которого действителен ссылка для сброса пароля.
Используется в PasswordResetConfirmView.
Примечание
Уменьшение значения этого таймаута не оказывает влияния на способность злоумышленника взломать токен сброса пароля. Токены разработаны для защиты от брутфорса без таймаута.
Этот таймаут существует для защиты от некоторых маловероятных сценариев атак, таких как получение доступа к архивам электронной почты, которые могут содержать старые, неиспользуемые токены сброса пароля.
PASSWORD_HASHERS
По умолчанию:
[
"django.contrib.auth.hashers.PBKDF2PasswordHasher",
"django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher",
"django.contrib.auth.hashers.Argon2PasswordHasher",
"django.contrib.auth.hashers.BCryptSHA256PasswordHasher",
"django.contrib.auth.hashers.ScryptPasswordHasher",
]
AUTH_PASSWORD_VALIDATORS
По умолчанию: [] (Пустой список)
Список валидаторов, используемых для проверки сложности паролей пользователей. Подробности см. в Проверка паролей. По умолчанию валидация не выполняется, и все пароли принимаются.
Сообщения
Настройки для django.contrib.messages.
MESSAGE_LEVEL
По умолчанию: messages.INFO
Устанавливает минимальный уровень сообщений, который будет регистрироваться системой сообщений. Подробности см. в уровни сообщений.
Избегание циклических импортов
Если вы переопределяете MESSAGE_LEVEL в файле настроек и используете встроенные константы, необходимо импортировать модуль констант напрямую, чтобы избежать потенциальных циклических импортов, например:
from django.contrib.messages import constants as message_constants MESSAGE_LEVEL = message_constants.DEBUG
Если нужно, вы можете указать числовые значения констант напрямую согласно значениям в таблице констант выше.
MESSAGE_STORAGE
По умолчанию: 'django.contrib.messages.storage.fallback.FallbackStorage'
Определяет, где Django хранит данные сообщений. Допустимые значения:
'django.contrib.messages.storage.fallback.FallbackStorage''django.contrib.messages.storage.session.SessionStorage''django.contrib.messages.storage.cookie.CookieStorage'
Подробности см. в хранилища сообщений.
Бэкэнды, использующие файлы cookie — CookieStorage и FallbackStorage — используют значение SESSION_COOKIE_DOMAIN, SESSION_COOKIE_SECURE и SESSION_COOKIE_HTTPONLY при установке файлов cookie.
MESSAGE_TAGS
{
messages.DEBUG: "debug",
messages.INFO: "info",
messages.SUCCESS: "success",
messages.WARNING: "warning",
messages.ERROR: "error",
}
Это устанавливает соответствие между уровнями сообщений и тегами сообщений, которые обычно отображаются как классы CSS в HTML. Если вы зададите значение, оно будет расширять значения по умолчанию. Это означает, что вам нужно указать только те значения, которые нужно переопределить. Подробнее см. отображение сообщений выше.
Избегание циклических импортов
Если вы переопределяете MESSAGE_TAGS в файле настроек и используете какие-либо встроенные константы, вы должны импортировать модуль constants напрямую, чтобы избежать потенциальных циклических импортов, например:
from django.contrib.messages import constants as message_constants
MESSAGE_TAGS = {message_constants.INFO: ""}
При необходимости вы можете указать числовые значения для констант непосредственно в соответствии со значениями в приведенной выше таблице констант.
Сессии
Настройки для django.contrib.sessions.
SESSION_CACHE_ALIAS
По умолчанию: 'default'
Если вы используете хранение сессий на основе кеша, это выбирает используемый кеш.
SESSION_COOKIE_AGE
Срок действия файлов cookie сессий в секундах.
SESSION_COOKIE_DOMAIN
Домен, используемый для файлов cookie сессий. Установите это значение в строку, например, "example.com", для файлов cookie междоменных сессий или используйте None для обычного файла cookie домена.
Для использования междоменных файлов cookie с CSRF_USE_SESSIONS, необходимо включить ведущую точку (например, ".example.com") для учета проверки referer middleware CSRF.
Будьте осторожны при обновлении этого параметра на сайте в режиме производства. Если вы обновите этот параметр, чтобы включить междоменные файлы cookie на сайте, который ранее использовал стандартные файлы cookie домена, существующие файлы cookie пользователей будут установлены для старого домена. Это может привести к невозможности входа в систему, пока эти файлы cookie сохраняются.
Этот параметр также влияет на файлы cookie, установленные django.contrib.messages.
SESSION_COOKIE_HTTPONLY
Использовать флаг HttpOnly для файла cookie сессии. Если это значение установлено на True, клиентская JavaScript не сможет получить доступ к файлу cookie сессии.
HttpOnly — флаг, включенный в HTTP-заголовок ответа Set-Cookie. Он является частью стандарта RFC 6265#section-4.1.2.6 для файлов cookie и может быть полезным способом снижения риска доступа клиентского сценария к защищенным данным файлов cookie.
Это делает менее тривиальным для злоумышленника повысить уязвимость XSS до полного захвата сессии пользователя. Нет много хороших причин для отключения этой функции. Ваш код не должен читать файлы cookie сессий из JavaScript.
SESSION_COOKIE_NAME
Имя файла cookie, используемого для сессий. Это может быть любое значение (при условии, что оно отличается от других имён файлов cookie в вашем приложении).
SESSION_COOKIE_PATH
Путь, установленный в файле cookie сессии. Он должен соответствовать пути URL-адреса вашей установки Django или быть предком этого пути.
Это полезно, если у вас несколько экземпляров Django работают под одним именем хоста. Они могут использовать разные пути файлов cookie, и каждый экземпляр будет видеть только свой собственный файл cookie сессии.
SESSION_COOKIE_SAMESITE
Значение флага SameSite в файле cookie сессии. Этот флаг предотвращает отправку файла cookie в межсайтовых запросах, тем самым предотвращая атаки CSRF и делая некоторые методы кражи файла cookie сессии невозможными.
Возможные значения для параметра:
-
'Strict': предотвращает отправку браузером файла cookie на целевой сайт во всех межсайтовых контекстах просмотра, даже при переходе по обычной ссылке.Например, для сайта, похожего на GitHub, это означает, что если зарегистрированный пользователь переходит по ссылке на частный проект GitHub, размещённый на корпоративном форуме обсуждения или в электронном письме, GitHub не получит файл cookie сессии, и пользователь не сможет получить доступ к проекту. Однако веб-сайт банка, скорее всего, не хочет разрешать ссылки на любые транзакционные страницы из внешних сайтов, поэтому флаг
'Strict'будет уместен. -
'Lax'(по умолчанию): обеспечивает баланс между безопасностью и удобством использования для веб-сайтов, которые хотят сохранить сессию входа в систему пользователя после того, как пользователь перешёл по ссылке с внешнего сайта.В сценарии GitHub файл cookie сессии будет разрешён при переходе по обычной ссылке с внешнего сайта и будет заблокирован в методах запросов, подверженных CSRF (например,
POST). -
'None'(строка): файл cookie сессии будет отправляться со всеми запросами в пределах одного сайта и межсайтовых запросах. -
False: отключает флаг.
Примечание
Современные браузеры предоставляют более безопасную политику по умолчанию для флага SameSite и будут предполагать Lax для файлов cookie без явно заданного значения.
SESSION_COOKIE_SECURE
Использовать защищённый файл cookie для файла cookie сессии. Если это значение установлено на True, файл cookie будет помечен как «безопасный», что означает, что браузеры могут гарантировать, что файл cookie отправляется только по HTTPS-соединению.
Оставить этот параметр выключенным — не лучшая идея, потому что злоумышленник может перехватить незашифрованный файл cookie сессии с помощью анализатора пакетов и использовать его для захвата сессии пользователя.
SESSION_ENGINE
По умолчанию: 'django.contrib.sessions.backends.db'
Контролирует, где Django хранит данные сессии. Включенные движки:
'django.contrib.sessions.backends.db''django.contrib.sessions.backends.file''django.contrib.sessions.backends.cache''django.contrib.sessions.backends.cached_db''django.contrib.sessions.backends.signed_cookies'
Для получения дополнительных сведений см. Настройка движка сессии.
SESSION_EXPIRE_AT_BROWSER_CLOSE
По умолчанию: False
Истекает ли сессия при закрытии браузера пользователем. См. Сессии на время работы браузера vs. постоянные сессии.
SESSION_FILE_PATH
По умолчанию: None
Если вы используете хранение сессий на основе файлов, это задаёт каталог, в котором Django будет хранить данные сессии. При использовании значения по умолчанию (None) Django будет использовать стандартный временный каталог системы.
SESSION_SAVE_EVERY_REQUEST
По умолчанию: False
Сохранять ли данные сессии при каждом запросе. Если это значение False (по умолчанию), данные сессии сохраняются только в том случае, если они были изменены — то есть, если какие-либо из её значений словаря были присвоены или удалены. Пустые сессии не будут созданы, даже если этот параметр активен.
SESSION_SERIALIZER
По умолчанию: 'django.contrib.sessions.serializers.JSONSerializer'
Полный путь импорта класса сериализатора, используемого для сериализации данных сессии. Включённый сериализатор:
'django.contrib.sessions.serializers.JSONSerializer'
См. Сериализация сессий для получения подробной информации.
Сайты
Настройки для django.contrib.sites.
SITE_ID
По умолчанию: Не определено
Идентификатор текущего сайта в таблице базы данных django_site, как целое число. Это используется для того, чтобы данные приложений могли подключаться к конкретным сайтам, и одна база данных могла управлять содержимым нескольких сайтов.
Статические файлы
Настройки для django.contrib.staticfiles.
STATIC_ROOT
По умолчанию: None
Абсолютный путь к каталогу, в который collectstatic будет собирать статические файлы для развертывания.
Пример: "/var/www/example.com/static/"
Если приложение staticfiles включено (как в шаблоне проекта по умолчанию), команда управления collectstatic соберет статические файлы в этот каталог. См. руководство по управлению статическими файлами для получения дополнительных сведений об использовании.
Предупреждение
Это должен быть пустой каталог назначения для сбора статических файлов из постоянных расположений в один каталог для удобства развертывания; это не место для постоянного хранения статических файлов. Вы должны хранить их в каталогах, которые будут найдены staticfiles’s finders, которые по умолчанию являются подкаталогами приложения 'static/' и любыми каталогами, которые вы включите в STATICFILES_DIRS.
STATIC_URL
По умолчанию: None
URL для ссылок на статические файлы, расположенные в STATIC_ROOT.
Пример: "static/" или "https://static.example.com/"
Если не None, это будет использовано в качестве базового пути для определений ресурсов (класс Media ) и приложения staticfiles.
Он должен заканчиваться косой чертой, если задано ненулевое значение.
Возможно, вам потребуется настроить эти файлы для обработки в режиме разработки, и это определённо нужно сделать в режиме производства.
Примечание
Если STATIC_URL является относительным путем, то он будет префиксным значением, предоставленным сервером, SCRIPT_NAME (или /, если не задано). Это упрощает обработку приложения Django в подпути без добавления дополнительной конфигурации в настройки.
STATICFILES_DIRS
По умолчанию: [] (пустой список)
Эта настройка определяет дополнительные расположения, по которым приложение staticfiles будет производить поиск, если включен поиск FileSystemFinder, например, если вы используете менеджер collectstatic или findstatic, или используете представление для обработки статических файлов.
Это должно быть списком строк, содержащих полные пути к дополнительным каталогам файлов, например:
STATICFILES_DIRS = [
"/home/special.polls.com/polls/static",
"/home/polls.com/polls/static",
"/opt/webfiles/common",
]
Обратите внимание, что эти пути должны использовать косые черты в стиле Unix, даже в Windows (например, "C:/Users/user/mysite/extra_static_content").
Префиксы (необязательно)
Если вы хотите ссылаться на файлы в одном из расположений с дополнительным пространством имён, вы можете **необязательно** предоставить префикс в виде кортежей (prefix, path), например:
STATICFILES_DIRS = [
# ...
("downloads", "/opt/webfiles/stats"),
]
Например, если STATIC_URL задано как 'static/', менеджер collectstatic соберет файлы “stats” в подкаталоге 'downloads' от STATIC_ROOT.
Это позволит вам ссылаться на локальный файл '/opt/webfiles/stats/polls_20101022.tar.gz' с помощью '/static/downloads/polls_20101022.tar.gz' в ваших шаблонах, например:
<a href="{% static 'downloads/polls_20101022.tar.gz' %}">
STATICFILES_FINDERS
По умолчанию:
[
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
]
Список поставщиков поиска, которые знают, как найти статические файлы в различных расположениях.
По умолчанию будут найдены файлы, хранящиеся в настройке STATICFILES_DIRS (используя django.contrib.staticfiles.finders.FileSystemFinder) и в подкаталоге static каждой приложения (используя django.contrib.staticfiles.finders.AppDirectoriesFinder). Если присутствуют несколько файлов с одинаковым именем, будет использован первый найденный файл.
Один поставщик поиска отключен по умолчанию: django.contrib.staticfiles.finders.DefaultStorageFinder. Если его добавить в настройку STATICFILES_FINDERS, он будет искать статические файлы в стандартном хранилище файлов, как определено ключом default в настройке STORAGES.
Примечание
При использовании поставщика поиска AppDirectoriesFinder, убедитесь, что ваши приложения могут быть найдены приложением staticfiles, добавив приложение в настройку INSTALLED_APPS вашего сайта.
Поставщики поиска статических файлов в настоящее время считаются частным интерфейсом, поэтому этот интерфейс не документирован.
Индекс основных настроек по темам
Кэш
База данных
Отладка
Электронная почта
ADMINSDEFAULT_CHARSETDEFAULT_FROM_EMAILEMAIL_BACKENDEMAIL_FILE_PATHEMAIL_HOSTEMAIL_HOST_PASSWORDEMAIL_HOST_USEREMAIL_PORTEMAIL_SSL_CERTFILEEMAIL_SSL_KEYFILEEMAIL_SUBJECT_PREFIXEMAIL_TIMEOUTEMAIL_USE_LOCALTIMEEMAIL_USE_TLSMANAGERSSERVER_EMAIL
Обработка ошибок
DEFAULT_EXCEPTION_REPORTERDEFAULT_EXCEPTION_REPORTER_FILTERIGNORABLE_404_URLSMANAGERSSILENCED_SYSTEM_CHECKS
Настройки загрузки файлов
FILE_UPLOAD_HANDLERSFILE_UPLOAD_MAX_MEMORY_SIZEFILE_UPLOAD_PERMISSIONSFILE_UPLOAD_TEMP_DIRMEDIA_ROOTMEDIA_URLSTORAGES
Формы
Глобализация (i18n/l10n)
Локализация (i18n)
FIRST_DAY_OF_WEEKFORMAT_MODULE_PATHLANGUAGE_COOKIE_AGELANGUAGE_COOKIE_DOMAINLANGUAGE_COOKIE_HTTPONLYLANGUAGE_COOKIE_NAMELANGUAGE_COOKIE_PATHLANGUAGE_COOKIE_SAMESITELANGUAGE_COOKIE_SECURELANGUAGESLANGUAGES_BIDILOCALE_PATHSTIME_ZONEUSE_I18NUSE_TZ
Локализация (l10n)
DATE_FORMATDATE_INPUT_FORMATSDATETIME_FORMATDATETIME_INPUT_FORMATSDECIMAL_SEPARATORLANGUAGE_CODEMONTH_DAY_FORMATNUMBER_GROUPINGSHORT_DATE_FORMATSHORT_DATETIME_FORMATTHOUSAND_SEPARATORTIME_FORMATTIME_INPUT_FORMATSUSE_THOUSAND_SEPARATORYEAR_MONTH_FORMAT
HTTP
DATA_UPLOAD_MAX_MEMORY_SIZEDATA_UPLOAD_MAX_NUMBER_FIELDSDATA_UPLOAD_MAX_NUMBER_FILESDEFAULT_CHARSETDISALLOWED_USER_AGENTSFORCE_SCRIPT_NAMEINTERNAL_IPSMIDDLEWARE- Безопасность
SIGNING_BACKENDUSE_X_FORWARDED_HOSTUSE_X_FORWARDED_PORTWSGI_APPLICATION
Ведение журнала
Модели
Безопасность
- Защита от межсайтовых поддельных запросов
SECRET_KEYSECRET_KEY_FALLBACKSX_FRAME_OPTIONS
Сериализация
Шаблоны
Тестирование
- База данных:
TEST TEST_NON_SERIALIZED_APPSTEST_RUNNER
URL-адреса
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/5.1/ref/settings/