Spec-Zone.ru › Django 3.1

Настройки

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

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

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

Основные настройки

Вот список доступных настроек в ядре Django и их значения по умолчанию. Настройки, предоставляемые приложениями contrib, перечислены ниже, а затем следует тематический индекс основных настроек. Для вводной информации см. руководство по настройкам.

ABSOLUTE_URL_OVERRIDES

Значение по умолчанию: {} (Пустой словарь)

Словарь, сопоставляющий строки "app_label.model_name" с функциями, которые принимают объект модели и возвращают его URL. Это способ вставки или переопределения get_absolute_url() методов на основе каждой установки. Пример:

ABSOLUTE_URL_OVERRIDES = {
    'blogs.weblog': 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, вы обходите эту меру безопасности.

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

Если ALLOWED_HOSTS пусто и DEBUG=True, поддомены localhost были разрешены.

APPEND_SLASH

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

Если установлено значение True, если адрес запроса не соответствует ни одному шаблону в 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.MemcachedCache'
  • 'django.core.cache.backends.memcached.PyLibMCCache'

Вы можете использовать кэш-бекенд, не поставляемый с 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, записи в кэше не будут истекать.

VERSION

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

Номер версии по умолчанию для ключей кэша, созданных сервером Django.

См. документацию по кэшу для получения дополнительной информации.

CACHE_MIDDLEWARE_ALIAS

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

Подключение к кэшу, используемое для middleware кэша.

CACHE_MIDDLEWARE_KEY_PREFIX

Значение по умолчанию: '' (Пустая строка)

Строка, которая будет добавленa в качестве префикса к ключам кэша, сгенерированным middleware кэша. Этот префикс комбинируется с настройкой KEY_PREFIX; он не заменяет её.

См. рамку кэширования Django.

CACHE_MIDDLEWARE_SECONDS

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

Значение по умолчанию — количество секунд кеширования страницы для кеширования по сайту.

См. фреймворк кеширования Django.

CSRF_COOKIE_AGE

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

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

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

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

CSRF_COOKIE_DOMAIN

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

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

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

CSRF_COOKIE_HTTPONLY

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

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

Назначение куки CSRF в качестве HttpOnly не предоставляет никакой практической защиты, так как CSRF защищает только от междоменных атак. Если злоумышленник может прочитать куки через JavaScript, он уже находится на том же домене, что и браузер, поэтому он может делать что угодно. (XSS — гораздо большая проблема, чем CSRF).

Хотя этот параметр мало пригоден на практике, его иногда требуют аудиторы безопасности.

Если вы включили эту возможность и вам нужно передать значение токена CSRF с запросом AJAX, ваш JavaScript должен получить значение из скрытого поля ввода токена CSRF, а не из куки.

Подробности о HttpOnly см. в SESSION_COOKIE_HTTPONLY.

CSRF_COOKIE_NAME

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

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

CSRF_COOKIE_PATH

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

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

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

CSRF_COOKIE_SAMESITE

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

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

Подробности о SameSite см. в SESSION_COOKIE_SAMESITE.

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

Разрешено было устанавливать CSRF_COOKIE_SAMESITE = 'None'.

CSRF_COOKIE_SECURE

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

Использовать ли безопасные куки для куки CSRF. Если это значение установлено на True, куки будут помечены как «безопасные», что означает, что браузеры могут гарантировать, что куки отправляются только по HTTPS-соединению.

CSRF_USE_SESSIONS

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

Хранить ли токен CSRF в сессии пользователя вместо куки. Требует использования django.contrib.sessions.

Хранение токена CSRF в куки (по умолчанию в Django) безопасно, но хранение в сессии является распространенной практикой в других веб-фреймворках и поэтому иногда требует проверки аудиторами безопасности.

Поскольку стандартные контроллеры ошибок требуют токена CSRF, SessionMiddleware должен появляться в MIDDLEWARE перед любым 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). Для secure небезопасного запроса защита Django от CSRF требует, чтобы запрос имел заголовок Referer, соответствующий источнику, указанному в заголовке Host. Это предотвращает, например, запрос POST с subdomain.example.com от успешного выполнения против api.example.com. Если вам нужны междоменные небезопасные запросы по HTTPS, продолжая пример, добавьте "subdomain.example.com" в этот список. Этот параметр также поддерживает поддомены, поэтому вы можете добавить ".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

Значение по умолчанию: '' (Пустая строка)

Используемый бэкенд базы данных. Встроенные бэкенды баз данных:

  • 'django.db.backends.postgresql'
  • 'django.db.backends.mysql'
  • 'django.db.backends.sqlite3'
  • 'django.db.backends.oracle'

Вы можете использовать бэкенд базы данных, который не поставляется с Django, установив ENGINE на полностью квалифицированный путь (например, mypackage.backends.whatever).

HOST

По умолчанию: '' (пустая строка)

Хост, который использовать при подключении к базе данных. Пустая строка означает localhost. Не используется с SQLite.

Если это значение начинается с прямой косой черты ('/') и вы используете MySQL, MySQL подключится через Unix-сокет к указанному сокету. Например:

"HOST": '/var/run/mysql'

Если вы используете MySQL и это значение не начинается с прямой косой черты, тогда это значение считается именем хоста.

Если вы используете 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 для неограниченных постоянных подключений.

OPTIONS

По умолчанию: {} (пустой словарь)

Дополнительные параметры для подключения к базе данных. Доступные параметры зависят от используемого бэкенда базы данных.

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

PASSWORD

По умолчанию: '' (пустая строка)

Пароль для подключения к базе данных. Не используется с SQLite.

PORT

По умолчанию: '' (пустая строка)

Порт для подключения к базе данных. Пустая строка означает порт по умолчанию. Не используется с SQLite.

TIME_ZONE

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

Строка, представляющая часовой пояс для этого подключения к базе данных или None. Этот внутренний параметр настройки DATABASES принимает те же значения, что и общий параметр TIME_ZONE.

Когда USE_TZ имеет значение True, а этот параметр задан, чтение дат и времени из базы данных возвращает значения с учетом часового пояса в этом часовом поясе вместо UTC. Когда USE_TZ имеет значение False, установка этого параметра является ошибкой.

  • Если бэкенд базы данных не поддерживает часовые пояса (например, SQLite, MySQL, Oracle), Django читает и записывает даты и время в местном времени в соответствии с этим параметром, если он установлен, и в UTC, если он не установлен.

    Изменение часового пояса подключения изменяет способ чтения и записи дат и времени в базу данных.

    • Если Django управляет базой данных и у вас нет веских причин поступать иначе, оставьте этот параметр без значения. Лучше всего хранить даты и время в UTC, потому что это позволяет избежать неоднозначных или несуществующих дат и времени во время перехода на летнее/зимнее время. Кроме того, получение дат и времени в UTC упрощает арифметику с датами и временем — нет необходимости использовать метод normalize() из pytz.
    • Если вы подключаетесь к базе данных стороннего разработчика, которая хранит даты и время в местном времени, а не в UTC, то необходимо установить этот параметр в соответствующий часовой пояс. Аналогично, если Django управляет базой данных, но системы сторонних разработчиков подключаются к той же базе данных и ожидают найти даты и время в местном времени, то необходимо установить этот параметр.
  • Если бэкенд базы данных поддерживает часовые пояса (например, PostgreSQL), параметр TIME_ZONE используется очень редко. Его можно изменить в любое время; база данных позаботится о преобразовании дат и времени в желаемый часовой пояс.

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

    Однако это имеет недостаток: получение всех дат и времени в местном времени усложняет арифметику с датами и временем — необходимо вызывать метод normalize() из pytz после каждой операции.

    Вместо установки параметра TIME_ZONE, рассмотрите возможность явного преобразования в местное время с помощью AT TIME ZONE в необработанных запросах SQL.

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

Использование этого параметра, когда бэкенд базы данных поддерживает часовые пояса, было разрешено.

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
Новое в Django 3.1.

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

Если установлено значение False, миграции не будут выполняться при создании тестовой базы данных. Это аналогично установке None в качестве значения в MIGRATION_MODULES, но для всех приложений.

MIRROR

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

Псевдоним базы данных, которую эта база данных должна дублировать во время тестирования.

Эта настройка предназначена для тестирования конфигураций «первичный/дополнительный» (некоторые базы данных называют их «мастер/раб») нескольких баз данных. См. документацию по тестированию конфигураций первичный/дополнительный для получения подробной информации.

NAME

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

Имя базы данных, используемой при выполнении набора тестов.

Если используется значение по умолчанию (None) с двигателем базы данных SQLite, тесты будут использовать базу данных в оперативной памяти. Для всех других двигателей баз данных тестовая база данных будет использовать имя 'test_' + DATABASE_NAME.

См. Тестовая база данных.

SERIALIZE

Булево значение для управления тем, сериализуется ли по умолчанию тестовый запуск базы данных в строку JSON в оперативной памяти перед запуском тестов (используется для восстановления состояния базы данных между тестами, если у вас нет транзакций). Вы можете установить его в False, чтобы ускорить время создания, если у вас нет никаких тестовых классов с serialized_rollback=True.

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

DATABASE_ROUTERS

По умолчанию: [] (Пустой список)

Список маршрутизаторов, которые будут использоваться для определения базы данных, которая будет использоваться при выполнении запроса к базе данных.

См. документацию по автоматическому маршрутизации базы данных в конфигурациях с несколькими базами данных.

DATE_FORMAT

По умолчанию: 'N j, Y' (например, Feb. 4, 2003)

Форматирование по умолчанию для отображения полей даты в любой части системы. Обратите внимание, что если USE_L10N установлено в True, то локальный формат имеет более высокий приоритет и будет применён вместо него. См. allowed date format strings.

См. также DATETIME_FORMAT, TIME_FORMAT и SHORT_DATE_FORMAT.

DATE_INPUT_FORMATS

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

[
    '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06'
    '%b %d %Y', '%b %d, %Y',            # 'Oct 25 2006', 'Oct 25, 2006'
    '%d %b %Y', '%d %b, %Y',            # '25 Oct 2006', '25 Oct, 2006'
    '%B %d %Y', '%B %d, %Y',            # 'October 25 2006', 'October 25, 2006'
    '%d %B %Y', '%d %B, %Y',            # '25 October 2006', '25 October, 2006'
]

Список форматов, которые будут приниматься при вводе данных в поле даты. Форматы будут перебираться в указанном порядке, и будет использоваться первый допустимый формат. Обратите внимание, что эти строковые форматы используют синтаксис модуля datetime Python, а не строковые форматы из date фильтра шаблона.

Когда USE_L10N равно True, локальный формат имеет более высокий приоритет и будет применен вместо него.

См. также DATETIME_INPUT_FORMATS и TIME_INPUT_FORMATS.

DATETIME_FORMAT

По умолчанию: 'N j, Y, P' (например, Feb. 4, 2003, 4 p.m.)

Форматирование по умолчанию для отображения полей datetime в любой части системы. Обратите внимание, что если USE_L10N установлено в True, то локальный формат имеет более высокий приоритет и будет применён вместо него. См. 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 в крайнем случае.

Когда USE_L10N равно True, локальный формат имеет более высокий приоритет и будет применён вместо него.

См. также DATE_INPUT_FORMATS и TIME_INPUT_FORMATS.

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

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

DEBUG

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

Логическая переменная, включающая/отключающая режим отладки.

Никогда не развёртывайте сайт в производство с DEBUG включённым.

Одной из основных функций режима отладки является отображение подробных страниц ошибок. Если ваше приложение вызывает исключение, когда DEBUG включён, 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

По умолчанию: '.' (Точка)

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

Обратите внимание, что если USE_L10N установлено True, то заданный локалью формат имеет больший приоритет и будет применён вместо него.

См. также NUMBER_GROUPING, THOUSAND_SEPARATOR и USE_THOUSAND_SEPARATOR.

DEFAULT_CHARSET

По умолчанию: 'utf-8'

Набор символов по умолчанию для всех HttpResponse объектов, если тип MIME не указан вручную. Используется при формировании заголовка Content-Type.

DEFAULT_EXCEPTION_REPORTER

Новое в Django 3.1.

По умолчанию: 'django.views.debug.ExceptionReporter'

Класс отчётчика об исключениях по умолчанию, который будет использоваться, если для экземпляра HttpRequest ещё не назначен. См. Настройка сообщений об ошибках.

DEFAULT_EXCEPTION_REPORTER_FILTER

По умолчанию: 'django.views.debug.SafeExceptionReporterFilter'

Класс фильтра отчётчика об исключениях по умолчанию, который будет использоваться, если для экземпляра HttpRequest ещё не назначен. См. Фильтрование отчётов об ошибках.

DEFAULT_FILE_STORAGE

По умолчанию: 'django.core.files.storage.FileSystemStorage'

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

DEFAULT_FROM_EMAIL

По умолчанию: 'webmaster@localhost'

Адрес электронной почты по умолчанию, используемый для различных автоматических сообщений от администратора(ов) сайта. Это не включает сообщения об ошибках, отправленные в ADMINS и MANAGERS; для этого см. SERVER_EMAIL.

DEFAULT_HASHING_ALGORITHM

Новое в Django 3.1.

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

Алгоритм хэширования по умолчанию для кодирования файлов cookie, токенов сброса пароля на сайте администрирования, сеансов пользователей и подписей, созданных django.core.signing.Signer и django.core.signing.dumps(). Алгоритм должен быть 'sha1' или 'sha256'. См. примечания к релизу для получения подробностей об использовании.

Устарело начиная с версии 3.1: Эта переходная настройка устарела. Поддержка её и токенов, файлов cookie, сеансов и подписей, использующих алгоритм хэширования SHA-1, будет удалена в Django 4.0.

DEFAULT_INDEX_TABLESPACE

По умолчанию: '' (Пустая строка)

Пространство имен таблицы по умолчанию для индексов полей, не указывающим его, если бэкенд его поддерживает (см. Пространства имён таблиц).

DEFAULT_TABLESPACE

По умолчанию: '' (Пустая строка)

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

DISALLOWED_USER_AGENTS

По умолчанию: [] (Пустой список)

Список скомпилированных объектов регулярных выражений, представляющих строки User-Agent, которые не разрешены для посещения какой-либо страницы в системе. Используйте для ботов/пауков. Используется только если CommonMiddleware установлен (см. Средства промежуточного уровня).

EMAIL_BACKEND

По умолчанию: 'django.core.mail.backends.smtp.EmailBackend'

Бэкенд, используемый для отправки электронных писем. Список доступных бэкендов см. в Отправка электронных писем.

EMAIL_FILE_PATH

По умолчанию: Не определено

Директория, используемая бэкендом электронных писем в формате файлов, для хранения выходных файлов.

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

Добавлена поддержка pathlib.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.

END_OF_DOCUMENT_MARKER

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.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, поведение будет совершенно неправильным.

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

В более ранних версиях значение по умолчанию равно None.

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-адресов, когда SCRIPT_NAME не /.

FORM_RENDERER

По умолчанию: 'django.forms.renderers.DjangoTemplates'

Класс, который отображает виджеты формы. Он должен реализовывать низкоуровневый API отображения.

FORMAT_MODULE_PATH

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

Полный путь к Python-пакету, содержащему пользовательские определения форматов для локалей проекта. Если не None, Django будет проверять файл formats.py, в каталоге, названном текущей локалью, и будет использовать определения форматов в этом файле.

Например, если 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() добавить некоторые переменные в контекст шаблона.
  • Позволяют использовать закладки админдокументации, даже если не вошли в систему как пользователь с правами администратора.
  • Отмечены как «внутренние» (в отличие от «внешних») в сообщениях электронной почты AdminEmailHandler.

LANGUAGE_CODE

Значение по умолчанию: 'en-us'

Строка, представляющая код языка для данной установки. Он должен быть в стандартном формате кода языка. Например, английский язык США — "en-us". См. также список идентификаторов языка и Международная и локальная поддержка.

USE_I18N должен быть активным, чтобы это значение имело какой-либо эффект.

Он служит двум целям:

  • Если middleware для локализации не используется, он определяет, какой перевод отображается всем пользователям.
  • Если middleware для локализации активен, он предоставляет резервный язык, в случае если предпочтительный язык пользователя не может быть определён или не поддерживается веб-сайтом. Он также предоставляет резервный перевод, когда для данного литерала нет перевода на предпочтительный язык пользователя.

См. Как Django определяет предпочтения языка для получения более подробной информации.

LANGUAGE_COOKIE_AGE

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

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

LANGUAGE_COOKIE_DOMAIN

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

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

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

LANGUAGE_COOKIE_HTTPONLY

Новое в Django 3.0.

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

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

См. SESSION_COOKIE_HTTPONLY для получения подробной информации о HttpOnly.

LANGUAGE_COOKIE_NAME

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

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

LANGUAGE_COOKIE_PATH

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

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

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

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

LANGUAGE_COOKIE_SAMESITE

Новое в Django 3.0.

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

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

См. SESSION_COOKIE_SAMESITE для получения подробностей о SameSite.

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

Установка LANGUAGE_COOKIE_SAMESITE = 'None' была разрешена.

LANGUAGE_COOKIE_SECURE

Новое в Django 3.0.

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

Использовать ли защищённый куки для языка. Если это значение установлено в True, куки будет помечен как «защищённый», что означает, что браузеры могут гарантировать, что куки отправляется только по HTTPS-соединению.

LANGUAGES

Значение по умолчанию: Список всех доступных языков. Этот список постоянно обновляется, и включение его копии неизбежно быстро устареет. Вы можете увидеть текущий список переведённых языков, взглянув в django/conf/global_settings.py.

Список представляет собой список пар кортежей в формате (код языка, 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.

Пример: "http://media.example.com/"

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

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

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

MEDIA_URL и STATIC_URL должны иметь разные значения. См. MEDIA_ROOT для получения более подробной информации.

Примечание

Если MEDIA_URL — относительный путь, он будет префиксным значением, предоставляемым сервером SCRIPT_NAME (или /, если не установлено). Это упрощает обслуживание приложения Django в подпути без добавления дополнительной конфигурации в настройки.

MIDDLEWARE

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

Список используемого middleware. См. Middleware.

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 Enero».

Обратите внимание, что если USE_L10N установлено в True, соответствующий формат, определённый локалью, имеет больший приоритет и будет применён.

См. 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)

Обратите внимание, что если USE_L10N установлено в True, тогда формат, заданный языковой локалью, имеет более высокий приоритет и будет применён вместо него.

См. также 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 и может привести к повышению привилегий и уязвимостям удалённого выполнения кода.

Секретный ключ используется для:

  • Всех сессий, если вы используете любой другой backend сессий, кроме django.contrib.sessions.backends.cache, или используете стандартный get_session_auth_hash().
  • Всех сообщений, если вы используете CookieStorage или FallbackStorage.
  • Всех PasswordResetView токенов.
  • Любого использования криптографического шифрования, если не указан другой ключ.

Если вы меняете секретный ключ, все перечисленное выше будет недействительно. Секретные ключи не используются для паролей пользователей, и смена ключей не повлияет на них.

Примечание

Файл по умолчанию settings.py созданный django-admin startproject создаёт уникальный SECRET_KEY для удобства.

SECURE_BROWSER_XSS_FILTER

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

Если True, SecurityMiddleware устанавливает заголовок X-XSS-Protection: 1; mode=block во всех ответах, в которых его ещё нет.

Современные браузеры больше не поддерживают заголовок HTTP X-XSS-Protection. Хотя настройка предлагает небольшую практическую выгоду, вы всё равно можете установить заголовок, если вы поддерживаете старые браузеры.

SECURE_CONTENT_TYPE_NOSNIFF

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

Если True, SecurityMiddleware устанавливает заголовок X-Content-Type-Options: nosniff во всех ответах, в которых его ещё нет.

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

В более ранних версиях значение по умолчанию False.

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).

Вы должны только устанавливать эту настройку, если вы контролируете свой прокси-сервер или имеете гарантии, что он правильно устанавливает/удаляет этот заголовок.

Обратите внимание, что заголовок должен быть в формате, используемом 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

Новая функция в Django 3.0.

Значение по умолчанию: 'same-origin'

При конфигурации SecurityMiddleware устанавливает заголовок Политики referer во всех ответах, которые его ещё не содержат, на указанное значение.

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

В более старых версиях значение по умолчанию — None.

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.

Почему мои письма отправляются с другого адреса?

Этот адрес используется только для сообщений об ошибках. Он не является адресом, с которого отправляются обычные электронные письма, отправленные с помощью send_mail(); для этого см. DEFAULT_FROM_EMAIL.

SHORT_DATE_FORMAT

Значение по умолчанию: 'm/d/Y' (например, 12/31/2003)

Доступный формат, который можно использовать для отображения полей даты на шаблонах. Обратите внимание, что если USE_L10N установлено в True, соответствующий формат, заданный языковым пакетом, имеет больший приоритет и будет применён. См. allowed date format strings.

См. также DATE_FORMAT и SHORT_DATETIME_FORMAT.

SHORT_DATETIME_FORMAT

Значение по умолчанию: 'm/d/Y P' (например, 12/31/2003 4 p.m.)

Доступный формат, который можно использовать для отображения полей datetime на шаблонах. Обратите внимание, что если USE_L10N установлено в True, соответствующий формат, заданный языковым пакетом, имеет больший приоритет и будет применён. См. allowed date format strings.

См. также DATE_FORMAT и SHORT_DATE_FORMAT.

SIGNING_BACKEND

Значение по умолчанию: 'django.core.signing.TimestampSigner'

Бэкенд, используемый для подписи куки и других данных.

См. также документацию Шифрование подписей.

SILENCED_SYSTEM_CHECKS

Значение по умолчанию: [] (Пустой список)

Список идентификаторов сообщений, генерируемых механизмом проверки системы (т.е. ["models.W001"]), которые вы хотите постоянно игнорировать. Заглушённые проверки не будут выводиться в консоль.

См. также документацию Фреймворк проверки системы.

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.

Обратите внимание, что если USE_L10N установлено в True, тогда формат, определяемый локалью, имеет более высокий приоритет и будет применен вместо этого.

См. также NUMBER_GROUPING, DECIMAL_SEPARATOR и USE_THOUSAND_SEPARATOR.

TIME_FORMAT

Значение по умолчанию: 'P' (например, 4 p.m.)

Формат отображения полей времени в любой части системы. Обратите внимание, что если USE_L10N установлено в True, тогда формат, определяемый локалью, имеет более высокий приоритет и будет применен вместо этого. См. 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.

Когда USE_L10N установлено в True, формат, определяемый локалью, имеет более высокий приоритет и будет применен вместо этого.

См. также 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_L10N и USE_TZ.

Примечание

По умолчанию settings.py файл, созданный django-admin startproject, включает USE_I18N = True для удобства.

USE_L10N

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

Булево значение, определяющее, будет ли по умолчанию включено локализованное форматирование данных. Если это значение установлено в True, Django будет отображать числа и даты в формате текущей локали.

См. также LANGUAGE_CODE, USE_I18N и USE_TZ.

Примечание

По умолчанию settings.py файл, созданный django-admin startproject, включает USE_L10N = True для удобства.

USE_THOUSAND_SEPARATOR

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

Булево значение, определяющее, будет ли отображаться числа с разделителем тысяч. Когда установлено в True и USE_L10N также установлено в True, Django будет форматировать числа, используя настройки NUMBER_GROUPING и THOUSAND_SEPARATOR. Эти настройки также могут быть определены локалью, которая имеет приоритет.

См. также DECIMAL_SEPARATOR, NUMBER_GROUPING и THOUSAND_SEPARATOR.

USE_TZ

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

Булево значение, определяющее, будут ли даты и время по умолчанию осознавать часовой пояс. Если это значение установлено в True, Django будет использовать даты и время, осознающие часовой пояс, внутри.

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

См. также TIME_ZONE, USE_I18N и USE_L10N.

Примечание

По умолчанию settings.py файл, созданный django-admin startproject, включает USE_TZ = True для удобства.

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 фильтруется по диапазону дат, заголовок для данного месяца отображает месяц и год. Разные языковые локали имеют разные форматы. Например, в США будет "Январь 2006", а в другой локали может быть "2006/Январь".

Обратите внимание, что если USE_L10N установлено в True, то соответствующий формат, заданный локалью, имеет более высокий приоритет и будет применен.

См. allowed date format strings. Также см. DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и MONTH_DAY_FORMAT.

X_FRAME_OPTIONS

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

Значение по умолчанию для заголовка X-Frame-Options, используемого XFrameOptionsMiddleware. См. документацию по защите от clickjacking.

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

В более старых версиях значение по умолчанию SAMEORIGIN.

Auth

Настройки для 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.

LOGOUT_REDIRECT_URL

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

URL-адрес или имя URL-шаблона, на который перенаправляются запросы после выхода из системы, если у LogoutView нет атрибута next_page.

Если None, перенаправление не будет выполнено, и будет отображено представление выхода из системы.

PASSWORD_RESET_TIMEOUT

Новое в Django 3.1.

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

Количество секунд, в течение которого ссылка на сброс пароля действительна.

Используется PasswordResetConfirmView.

Примечание

Уменьшение значения этого таймаута не влияет на возможность атаки с подбором пароля для токена сброса пароля. Токены разработаны так, чтобы быть защищенными от подбора пароля без таймаута.

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

PASSWORD_RESET_TIMEOUT_DAYS

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

Количество дней, в течение которого ссылка на сброс пароля действительна.

Используется PasswordResetConfirmView.

Устарело начиная с версии 3.1: Эта настройка устарела. Используйте PASSWORD_RESET_TIMEOUT вместо нее.

PASSWORD_HASHERS

См. Как Django хранит пароли.

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

[
    'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
    'django.contrib.auth.hashers.Argon2PasswordHasher',
    'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
]

AUTH_PASSWORD_VALIDATORS

По умолчанию: [] (Пустой список)

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

Messages

Настройки для 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'

См. хранилища данных сообщений для получения дополнительной информации.

Бэкенды, использующие куки — CookieStorage и FallbackStorage — используют значение SESSION_COOKIE_DOMAIN, SESSION_COOKIE_SECURE и SESSION_COOKIE_HTTPONLY при установке своих куков.

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 недели, в секундах)

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

SESSION_COOKIE_DOMAIN

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

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

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

Эта настройка также влияет на куки, установленные django.contrib.messages.

SESSION_COOKIE_HTTPONLY

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

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

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

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

SESSION_COOKIE_NAME

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

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

SESSION_COOKIE_PATH

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

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

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

SESSION_COOKIE_SAMESITE

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

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

Возможные значения для настройки:

  • 'Strict': предотвращает отправку браузером кука на целевой сайт во всех контекстах межсайтового просмотра, даже при переходе по обычной ссылке.

    Например, для веб-сайта, похожего на GitHub, это означает, что если авторизованный пользователь переходит по ссылке на частный проект GitHub, опубликованный на корпоративном форуме обсуждения или в электронном письме, GitHub не получит кук сессии, и пользователь не сможет получить доступ к проекту. Веб-сайт банка, однако, скорее всего, не хочет разрешать ссылки на любые транзакционные страницы из внешних сайтов, поэтому флаг 'Strict' будет уместен.

  • 'Lax' (по умолчанию): обеспечивает баланс между безопасностью и удобством использования для веб-сайтов, которые хотят сохранить сессию пользователя, вошедшего в систему, после того, как пользователь перешел по ссылке с внешнего сайта.

    В сценарии GitHub куки сессии будут разрешены при переходе по обычной ссылке с внешнего веб-сайта и будут заблокированы в подверженных CSRF запросах (например, POST).

  • 'None' (строка): куки сессии будут отправляться со всеми запросами с того же сайта и с других сайтов.
  • False: отключает флаг.

Примечание

Современные браузеры обеспечивают более безопасную политику по умолчанию для флага SameSite и будут предполагать Lax для куков без явно установленного значения.

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

Настройка SESSION_COOKIE_SAMESITE = 'None' была разрешена.

SESSION_COOKIE_SECURE

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

Использовать ли защищенный куки для кука сессии. Если это True, куки будет помечен как «защищенный», что означает, что браузеры могут убедиться, что куки отправляется только по соединению HTTPS.

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

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

Истекает ли сессия при закрытии пользователем браузера. См. Сессии длительностью браузера против постоянных сессий.

SESSION_FILE_PATH

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

Если вы используете хранилище сессий на основе файлов, это устанавливает каталог, в котором Django будет хранить данные сессии. При использовании значения по умолчанию (None) Django будет использовать стандартный временный каталог системы.

SESSION_SAVE_EVERY_REQUEST

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

Сохранять ли данные сессии при каждом запросе. Если это False (по умолчанию), то данные сессии будут сохранены только в случае их изменения — то есть, если какие-либо из его значений словаря были назначены или удалены. Пустые сессии не будут созданы, даже если эта настройка активна.

SESSION_SERIALIZER

По умолчанию: 'django.contrib.sessions.serializers.JSONSerializer'

Полный путь импорта класса сериализатора, который следует использовать для сериализации данных сессии. Включенные сериализаторы:

  • 'django.contrib.sessions.serializers.PickleSerializer'
  • 'django.contrib.sessions.serializers.JSONSerializer'

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

Сайты

Настройки для django.contrib.sites.

SITE_ID

По умолчанию: Не определено

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

Статические файлы

Настройки для django.contrib.staticfiles.

STATIC_ROOT

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

Абсолютный путь к каталогу, в котором collectstatic будет собирать статические файлы для развертывания.

Пример: "/var/www/example.com/static/"

Если приложение staticfiles включено (как в шаблоне проекта по умолчанию), команда управления collectstatic соберет статические файлы в этот каталог. Подробнее об использовании см. в руководстве по управлению статическими файлами.

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

Это должен быть первоначально пустой целевой каталог для сбора ваших статических файлов из постоянных местоположений в один каталог для удобства развертывания; это не место для постоянного хранения ваших статических файлов. Вы должны хранить их в каталогах, которые будут найдены средствами поиска staticfiles’ finders, которые по умолчанию являются подкаталогами приложения 'static/' и любыми каталогами, включенными в STATICFILES_DIRS.

STATIC_URL

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

URL для использования при ссылке на статические файлы, расположенные в STATIC_ROOT.

Пример: "/static/" или "http://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",
]

Обратите внимание, что эти пути должны использовать косые черты, даже в 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_STORAGE

По умолчанию: 'django.contrib.staticfiles.storage.StaticFilesStorage'

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

Готовое к использованию экземпляра хранилища, определенного в этой настройке, можно найти в django.contrib.staticfiles.storage.staticfiles_storage.

Пример см. в Предоставление статических файлов из облачной службы или CDN.

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_FILE_STORAGE.

Примечание

При использовании поиска 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

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

  • DEFAULT_FILE_STORAGE
  • FILE_UPLOAD_HANDLERS
  • FILE_UPLOAD_MAX_MEMORY_SIZE
  • FILE_UPLOAD_PERMISSIONS
  • FILE_UPLOAD_TEMP_DIR
  • MEDIA_ROOT
  • MEDIA_URL

Формы

  • FORM_RENDERER

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

  • DATE_FORMAT
  • DATE_INPUT_FORMATS
  • DATETIME_FORMAT
  • DATETIME_INPUT_FORMATS
  • DECIMAL_SEPARATOR
  • FIRST_DAY_OF_WEEK
  • FORMAT_MODULE_PATH
  • LANGUAGE_CODE
  • 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
  • MONTH_DAY_FORMAT
  • NUMBER_GROUPING
  • SHORT_DATE_FORMAT
  • SHORT_DATETIME_FORMAT
  • THOUSAND_SEPARATOR
  • TIME_FORMAT
  • TIME_INPUT_FORMATS
  • TIME_ZONE
  • USE_I18N
  • USE_L10N
  • USE_THOUSAND_SEPARATOR
  • USE_TZ
  • YEAR_MONTH_FORMAT

HTTP

  • DATA_UPLOAD_MAX_MEMORY_SIZE
  • DATA_UPLOAD_MAX_NUMBER_FIELDS
  • DEFAULT_CHARSET
  • DISALLOWED_USER_AGENTS
  • FORCE_SCRIPT_NAME
  • INTERNAL_IPS
  • MIDDLEWARE
  • Безопасность
    • SECURE_BROWSER_XSS_FILTER
    • SECURE_CONTENT_TYPE_NOSNIFF
    • 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
  • 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/3.1/ref/settings/

Spec-Zone.ru

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