Spec-Zone.ru › Django 5.1

Настройки

  • Основные настройки
  • Авторизация
  • Сообщения
  • Сеансы
  • Сайты
  • Статические файлы
  • Индекс основных настроек

Предупреждение

Будьте осторожны при переопределении настроек, особенно когда значение по умолчанию — список или словарь, не пустой, например, 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; он не заменяет ее.

См. фреймворк кэша Django.

CACHE_MIDDLEWARE_SECONDS

Значение по умолчанию: 600

Целочисленное значение по умолчанию количества секунд для кеширования страницы для middleware кэша.

См. фреймворк кэша Django.

CSRF_COOKIE_AGE

Значение по умолчанию: 31449600 (примерно 1 год в секундах)

Срок действия куки CSRF в секундах.

Причина установки длительного срока действия истечения срока действия заключается в том, чтобы избежать проблем в случае закрытия браузера пользователем или добавления страницы в закладки, а затем загрузки этой страницы из кэша браузера. Без постоянных файлов cookie отправка формы в этом случае не удастся.

Некоторые браузеры (в частности, Internet Explorer) могут запретить использование постоянных файлов cookie или могут иметь поврежденные индексы в хранилище файлов cookie на диске, что может привести к тому, что проверки защиты от CSRF (иногда периодически) не удастся. Измените это значение на None, чтобы использовать сессионные файлы cookie CSRF, которые хранят файлы cookie в памяти вместо постоянного хранения.

CSRF_COOKIE_DOMAIN

По умолчанию: None

Домен, который следует использовать при установке файла cookie CSRF. Это может быть полезно для простого исключения междоменных запросов из обычной защиты от поддельных запросов с одного сайта. Его следует установить на строку, такую как ".example.com", чтобы разрешить запрос POST из формы на одном поддомене, который будет принят представлением, предоставленным с другого поддомена.

Обратите внимание, что наличие этого параметра не означает, что защита Django от CSRF по умолчанию защищена от междоменных атак — см. раздел Ограничения CSRF.

CSRF_COOKIE_HTTPONLY

По умолчанию: False

Использовать 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

По умолчанию: 'csrftoken'

Имя файла cookie, используемого для маркера аутентификации CSRF. Оно может быть любым (пока оно отличается от других имен файлов cookie в вашем приложении). См. Защита от поддельных запросов с одного сайта.

CSRF_COOKIE_PATH

По умолчанию: '/'

Путь, установленный в файле cookie CSRF. Он должен либо совпадать с путем URL вашего приложения Django, либо быть родительским каталогом этого пути.

Это полезно, если у вас несколько экземпляров Django, работающих под одним именем хоста. Они могут использовать разные пути файлов cookie, и каждый экземпляр увидит только свой собственный файл cookie CSRF.

CSRF_COOKIE_SAMESITE

По умолчанию: 'Lax'

Значение флага SameSite для файла cookie CSRF. Этот флаг предотвращает отправку файла cookie в межсайтовых запросах.

Подробности о SameSite см. в разделе SESSION_COOKIE_SAMESITE.

CSRF_COOKIE_SECURE

По умолчанию: False

Использовать ли защищённый файл 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 при работе с сырыми запросами, включающими функции даты/времени, такие как функция PostgreSQL date_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_AUTO_FIELD будет учтено при создании новых автоматически созданных таблиц для многозначных отношений.

К сожалению, первичные ключи существующих автоматически созданных таблиц через не могут в настоящее время обновляться механизмом миграций.

Это означает, что если вы измените значение DEFAULT_AUTO_FIELD и затем сгенерируете миграции, первичные ключи связанных моделей будут обновлены, а также внешние ключи из таблицы через, но первичный ключ автоматически созданной таблицы через не будет мигрирован.

Чтобы решить эту проблему, необходимо добавить операцию RunSQL в свои миграции, чтобы выполнить необходимый шаг ALTER TABLE. Вы можете проверить имя существующей таблицы с помощью sqlmigrate, dbshell, или с помощью свойства поля remote_field.through._meta.db_table.

Явно определенные модели через уже обрабатываются системой миграций.

Возможность автоматической миграции первичного ключа существующих автоматически созданных таблиц через может быть реализована в будущем.

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

Новое в Django 5.0.

Устарело начиная с версии 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_FORMAT
  • DATE_INPUT_FORMATS
  • DATETIME_FORMAT,
  • DATETIME_INPUT_FORMATS
  • DECIMAL_SEPARATOR
  • FIRST_DAY_OF_WEEK
  • MONTH_DAY_FORMAT
  • NUMBER_GROUPING
  • SHORT_DATE_FORMAT
  • SHORT_DATETIME_FORMAT
  • THOUSAND_SEPARATOR
  • TIME_FORMAT
  • TIME_INPUT_FORMATS
  • YEAR_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

Значение по умолчанию: None (истекает при закрытии браузера)

Срок действия языка cookie в секундах.

LANGUAGE_COOKIE_DOMAIN

Значение по умолчанию: None

Домен для языка cookie. Установите его в строку, например "example.com", для cookie разных доменов, или используйте None для стандартного cookie одного домена.

Будьте осторожны при обновлении этого параметра на рабочем сайте. Если вы обновите этот параметр, чтобы включить cookie разных доменов на сайте, который ранее использовал cookie одного домена, существующие cookie пользователей со старым доменом не будут обновлены. Это приведёт к невозможности переключения языка для пользователей сайта до тех пор, пока эти cookie не истекут. Единственный безопасный и надёжный способ выполнения переключения — это изменение имени cookie языка на постоянной основе (через параметр LANGUAGE_COOKIE_NAME) и добавление средства промежуточного слоя, которое скопирует значение из старого cookie в новый, а затем удалит старый.

LANGUAGE_COOKIE_HTTPONLY

Значение по умолчанию: False

Использовать ли флаг HttpOnly для cookie языка. Если значение установлено в True, клиентский JavaScript не сможет получить доступ к cookie языка.

См. SESSION_COOKIE_HTTPONLY для получения дополнительных сведений о HttpOnly.

LANGUAGE_COOKIE_NAME

Значение по умолчанию: 'django_language'

Имя cookie для языка. Может быть любым (пока оно отличается от других имён cookie в вашем приложении). См. Международная поддержка и локализация.

LANGUAGE_COOKIE_PATH

Значение по умолчанию: '/'

Путь, установленный в cookie языка. Должен соответствовать пути URL вашей установки Django или быть подпутем этого пути.

Это полезно, если у вас несколько установок Django работают под одним именем хоста. Они могут использовать разные пути cookie, и каждая установка будет видеть только свои cookie языка.

Будьте осторожны при обновлении этого параметра на рабочем сайте. Если вы обновите этот параметр, чтобы использовать более глубокий путь, чем раньше, существующие cookie пользователей со старым путём не будут обновлены. Это приведёт к невозможности переключения языка для пользователей сайта до тех пор, пока эти cookie не истекут. Единственный безопасный и надёжный способ выполнения переключения — изменение имени cookie языка на постоянной основе (через параметр LANGUAGE_COOKIE_NAME) и добавление средства промежуточного слоя, которое скопирует значение из старого cookie в новый, а затем удалит старый.

LANGUAGE_COOKIE_SAMESITE

Значение по умолчанию: None

Значение флага SameSite в cookie языка. Этот флаг предотвращает отправку cookie в межсайтовых запросах.

См. SESSION_COOKIE_SAMESITE для получения дополнительных сведений о SameSite.

LANGUAGE_COOKIE_SECURE

Значение по умолчанию: False

Использовать ли защищённый 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.

Изменено в Django 5.0:

В более старых версиях значение по умолчанию 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 хранит пароли.

По умолчанию:

[
    "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

По умолчанию: 1209600 (2 недели, в секундах)

Срок действия файлов cookie сессий в секундах.

SESSION_COOKIE_DOMAIN

По умолчанию: None

Домен, используемый для файлов 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

По умолчанию: True

Использовать флаг HttpOnly для файла cookie сессии. Если это значение установлено на True, клиентская JavaScript не сможет получить доступ к файлу cookie сессии.

HttpOnly — флаг, включенный в HTTP-заголовок ответа Set-Cookie. Он является частью стандарта RFC 6265#section-4.1.2.6 для файлов cookie и может быть полезным способом снижения риска доступа клиентского сценария к защищенным данным файлов cookie.

Это делает менее тривиальным для злоумышленника повысить уязвимость XSS до полного захвата сессии пользователя. Нет много хороших причин для отключения этой функции. Ваш код не должен читать файлы cookie сессий из JavaScript.

SESSION_COOKIE_NAME

По умолчанию: 'sessionid'

Имя файла cookie, используемого для сессий. Это может быть любое значение (при условии, что оно отличается от других имён файлов cookie в вашем приложении).

SESSION_COOKIE_PATH

По умолчанию: '/'

Путь, установленный в файле cookie сессии. Он должен соответствовать пути URL-адреса вашей установки Django или быть предком этого пути.

Это полезно, если у вас несколько экземпляров Django работают под одним именем хоста. Они могут использовать разные пути файлов cookie, и каждый экземпляр будет видеть только свой собственный файл cookie сессии.

SESSION_COOKIE_SAMESITE

По умолчанию: 'Lax'

Значение флага 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

По умолчанию: False

Использовать защищённый файл 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 вашего сайта.

Поставщики поиска статических файлов в настоящее время считаются частным интерфейсом, поэтому этот интерфейс не документирован.

Индекс основных настроек по темам

Кэш

  • CACHES
  • CACHE_MIDDLEWARE_ALIAS
  • CACHE_MIDDLEWARE_KEY_PREFIX
  • CACHE_MIDDLEWARE_SECONDS

База данных

  • DATABASES
  • DATABASE_ROUTERS
  • DEFAULT_INDEX_TABLESPACE
  • DEFAULT_TABLESPACE

Отладка

  • DEBUG
  • DEBUG_PROPAGATE_EXCEPTIONS

Электронная почта

  • ADMINS
  • DEFAULT_CHARSET
  • DEFAULT_FROM_EMAIL
  • EMAIL_BACKEND
  • EMAIL_FILE_PATH
  • EMAIL_HOST
  • EMAIL_HOST_PASSWORD
  • EMAIL_HOST_USER
  • EMAIL_PORT
  • EMAIL_SSL_CERTFILE
  • EMAIL_SSL_KEYFILE
  • EMAIL_SUBJECT_PREFIX
  • EMAIL_TIMEOUT
  • EMAIL_USE_LOCALTIME
  • EMAIL_USE_TLS
  • MANAGERS
  • SERVER_EMAIL

Обработка ошибок

  • DEFAULT_EXCEPTION_REPORTER
  • DEFAULT_EXCEPTION_REPORTER_FILTER
  • IGNORABLE_404_URLS
  • MANAGERS
  • SILENCED_SYSTEM_CHECKS

Настройки загрузки файлов

  • FILE_UPLOAD_HANDLERS
  • FILE_UPLOAD_MAX_MEMORY_SIZE
  • FILE_UPLOAD_PERMISSIONS
  • FILE_UPLOAD_TEMP_DIR
  • MEDIA_ROOT
  • MEDIA_URL
  • STORAGES

Формы

  • FORM_RENDERER
  • FORMS_URLFIELD_ASSUME_HTTPS

Глобализация (i18n/l10n)

Локализация (i18n)

  • FIRST_DAY_OF_WEEK
  • FORMAT_MODULE_PATH
  • LANGUAGE_COOKIE_AGE
  • LANGUAGE_COOKIE_DOMAIN
  • LANGUAGE_COOKIE_HTTPONLY
  • LANGUAGE_COOKIE_NAME
  • LANGUAGE_COOKIE_PATH
  • LANGUAGE_COOKIE_SAMESITE
  • LANGUAGE_COOKIE_SECURE
  • LANGUAGES
  • LANGUAGES_BIDI
  • LOCALE_PATHS
  • TIME_ZONE
  • USE_I18N
  • USE_TZ

Локализация (l10n)

  • DATE_FORMAT
  • DATE_INPUT_FORMATS
  • DATETIME_FORMAT
  • DATETIME_INPUT_FORMATS
  • DECIMAL_SEPARATOR
  • LANGUAGE_CODE
  • MONTH_DAY_FORMAT
  • NUMBER_GROUPING
  • SHORT_DATE_FORMAT
  • SHORT_DATETIME_FORMAT
  • THOUSAND_SEPARATOR
  • TIME_FORMAT
  • TIME_INPUT_FORMATS
  • USE_THOUSAND_SEPARATOR
  • YEAR_MONTH_FORMAT

HTTP

  • DATA_UPLOAD_MAX_MEMORY_SIZE
  • DATA_UPLOAD_MAX_NUMBER_FIELDS
  • DATA_UPLOAD_MAX_NUMBER_FILES
  • DEFAULT_CHARSET
  • DISALLOWED_USER_AGENTS
  • FORCE_SCRIPT_NAME
  • INTERNAL_IPS
  • MIDDLEWARE
  • Безопасность
    • SECURE_CONTENT_TYPE_NOSNIFF
    • SECURE_CROSS_ORIGIN_OPENER_POLICY
    • SECURE_HSTS_INCLUDE_SUBDOMAINS
    • SECURE_HSTS_PRELOAD
    • SECURE_HSTS_SECONDS
    • SECURE_PROXY_SSL_HEADER
    • SECURE_REDIRECT_EXEMPT
    • SECURE_REFERRER_POLICY
    • SECURE_SSL_HOST
    • SECURE_SSL_REDIRECT
  • SIGNING_BACKEND
  • USE_X_FORWARDED_HOST
  • USE_X_FORWARDED_PORT
  • WSGI_APPLICATION

Ведение журнала

  • LOGGING
  • LOGGING_CONFIG

Модели

  • ABSOLUTE_URL_OVERRIDES
  • FIXTURE_DIRS
  • INSTALLED_APPS

Безопасность

  • Защита от межсайтовых поддельных запросов
    • CSRF_COOKIE_DOMAIN
    • CSRF_COOKIE_NAME
    • CSRF_COOKIE_PATH
    • CSRF_COOKIE_SAMESITE
    • CSRF_COOKIE_SECURE
    • CSRF_FAILURE_VIEW
    • CSRF_HEADER_NAME
    • CSRF_TRUSTED_ORIGINS
    • CSRF_USE_SESSIONS
  • SECRET_KEY
  • SECRET_KEY_FALLBACKS
  • X_FRAME_OPTIONS

Сериализация

  • DEFAULT_CHARSET
  • SERIALIZATION_MODULES

Шаблоны

  • TEMPLATES

Тестирование

  • База данных: TEST
  • TEST_NON_SERIALIZED_APPS
  • TEST_RUNNER

URL-адреса

  • APPEND_SLASH
  • PREPEND_WWW
  • ROOT_URLCONF

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/5.1/ref/settings/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API