Spec-Zone.ru › Django 5.2

Настройки

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

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

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

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

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

ABSOLUTE_URL_OVERRIDES

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

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

ABSOLUTE_URL_OVERRIDES = {
    "blogs.blog": lambda o: "/blogs/%s/" % o.slug,
    "news.story": lambda o: "/stories/%s/%s/" % (o.pub_year, o.slug),
}

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

ADMINS

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

Список всех людей, которые получают уведомления об ошибках кода. Когда DEBUG=False и AdminEmailHandler настроены в LOGGING (по умолчанию), Django отправляет этим людям подробности исключений, возникших в цикле запрос/ответ.

Каждый элемент в списке должен быть кортежем (Полное имя, адрес электронной почты). Пример:

[("John", "john@example.com"), ("Mary", "mary@example.com")]

ALLOWED_HOSTS

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

Список строк, представляющих имена хостов/доменов, которые может обслуживать этот сайт Django. Это мера безопасности для предотвращения атак с использованием заголовка HTTP Host, которые возможны даже при множестве, казалось бы, безопасных конфигураций веб-сервера.

Значения в этом списке могут быть полными именами (например, 'www.example.com'), в этом случае они будут точно совпадать с заголовком запроса Host (регистронезависимо, без порта). Значение, начинающееся с точки, может использоваться как поддомен-подстановка: '.example.com' будет соответствовать example.com, www.example.com и любому другому поддомену example.com. Значение '*' будет соответствовать чему угодно; в этом случае вы несете ответственность за предоставление собственной валидации заголовка Host (возможно, в middleware; в таком случае этот middleware должен быть указан первым в MIDDLEWARE).

Django также допускает использование полного доменного имени (FQDN) любых записей. Некоторые браузеры включают конечную точку в заголовке Host, который Django удаляет при проверке хоста.

Если заголовок Host (или X-Forwarded-Host, если USE_X_FORWARDED_HOST включен), не соответствует ни одному значению в этом списке, метод django.http.HttpRequest.get_host() вызовет SuspiciousOperation.

Когда DEBUG равно True и ALLOWED_HOSTS пусто, хост проверяется на соответствие ['.localhost', '127.0.0.1', '[::1]'].

ALLOWED_HOSTS также проверяется при запуске тестов.

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

APPEND_SLASH

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

При установке в True, если URL запроса не соответствует ни одному из шаблонов в URLconf и не заканчивается на слеш, будет выполнен HTTP-перенаправление на тот же URL со добавленным слешем. Обратите внимание, что перенаправление может привести к потере любых данных, отправленных в запросе POST.

Настройка APPEND_SLASH используется только при установленной CommonMiddleware (см. Middleware). Также см. PREPEND_WWW.

CACHES

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

{
    "default": {
        "BACKEND": "django.core.cache.backends.locmem.LocMemCache",
    }
}

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

Настройка CACHES должна настроить default кэш; также может быть указано любое количество дополнительных кэшей. Если вы используете кэш-бекенд, отличный от локального кэша памяти, или вам нужно определить несколько кэшей, понадобятся другие параметры. Доступны следующие параметры кэша.

BACKEND

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

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

  • 'django.core.cache.backends.db.DatabaseCache'
  • 'django.core.cache.backends.dummy.DummyCache'
  • 'django.core.cache.backends.filebased.FileBasedCache'
  • 'django.core.cache.backends.locmem.LocMemCache'
  • 'django.core.cache.backends.memcached.PyMemcacheCache'
  • 'django.core.cache.backends.memcached.PyLibMCCache'
  • 'django.core.cache.backends.redis.RedisCache'

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

KEY_FUNCTION

Строка, содержащая путь к функции (или любому вызываемому объекту), определяющая способ составления префикса, версии и ключа в итоговый ключ кэша. Реализация по умолчанию эквивалентна функции:

def make_key(key, key_prefix, version):
    return ":".join([key_prefix, str(version), key])

Вы можете использовать любую функцию-ключ, при условии, что она имеет такую же сигнатуру аргументов.

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

KEY_PREFIX

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

Строка, которая будет автоматически включена (по умолчанию в начале) во все ключи кэша, используемые сервером Django.

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

LOCATION

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

Расположение используемого кэша. Это может быть каталог для кэша файловой системы, хост и порт для сервера memcache или идентификатор для локального кэша памяти. Например:

CACHES = {
    "default": {
        "BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
        "LOCATION": "/var/tmp/django_cache",
    }
}

OPTIONS

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

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

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

TIMEOUT

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

Количество секунд, по истечении которых запись в кэше считается устаревшей. Если значение этой настройки None, записи в кэше не будут истекать. Значение 0 заставляет ключи немедленно истекать (эффективно «не кэшировать»).

VERSION

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

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

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

CACHE_MIDDLEWARE_ALIAS

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

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

CACHE_MIDDLEWARE_KEY_PREFIX

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

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

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

CACHE_MIDDLEWARE_SECONDS

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

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

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

CSRF_COOKIE_AGE

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

Возраст куки CSRF в секундах.

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

Некоторые браузеры (в частности, Internet Explorer) могут запрещать использование постоянных куки или повреждать индексы в cookie-хранилище на диске, что может привести к сбоям проверки защиты 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, а не из куки.

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

CSRF_COOKIE_NAME

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

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

CSRF_COOKIE_PATH

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

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

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

CSRF_COOKIE_SAMESITE

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

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

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

CSRF_COOKIE_SECURE

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

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

CSRF_USE_SESSIONS

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

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

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

Поскольку предварительно настроенные представления об ошибках требуют токена CSRF, SessionMiddleware должен стоять в MIDDLEWARE перед любым средством, которое может вызвать исключение для запуска представления об ошибке (таким как PermissionDenied), если вы используете CSRF_USE_SESSIONS. См. Порядок расположения средств.

CSRF_FAILURE_VIEW

По умолчанию: 'django.views.csrf.csrf_failure'

Путь к функции представления, используемой, когда входящий запрос отклоняется защитой CSRF. Функция должна иметь такой сигнатуру:

def csrf_failure(request, reason=""): ...

где reason — короткое сообщение (предназначенное для разработчиков или ведения журнала, а не для конечных пользователей), указывающее причину отклонения запроса. Она должна возвращать HttpResponseForbidden.

django.views.csrf.csrf_failure() принимает дополнительный параметр template_name, который по умолчанию имеет значение '403_csrf.html'. Если существует шаблон с таким именем, он будет использован для отображения страницы.

CSRF_HEADER_NAME

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

Имя заголовка запроса, используемого для аутентификации CSRF.

Как и другие заголовки HTTP в request.META, имя заголовка, полученное от сервера, нормализуется путём преобразования всех символов в верхний регистр, замены всех тире на нижние подчеркивания и добавления префикса 'HTTP_' к имени. Например, если ваш клиент отправляет заголовок 'X-XSRF-TOKEN', значение параметра должно быть 'HTTP_X_XSRF_TOKEN'.

CSRF_TRUSTED_ORIGINS

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

Список доверенных источников для небезопасных запросов (например, POST).

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

Для небезопасного запроса secure, который не включает заголовок Origin, запрос должен иметь заголовок Referer, который соответствует источнику, представленному в заголовке Host.

Эти проверки предотвращают, например, запрос POST с subdomain.example.com от успешного выполнения против api.example.com. Если вам нужны запросы из других источников, продолжая пример, добавьте 'https://subdomain.example.com' в этот список (и/или http://..., если запросы происходят с незащищенной страницы).

Параметр также поддерживает поддомены, поэтому можно добавить, например, 'https://*.example.com', чтобы разрешить доступ со всех поддоменов example.com.

DATABASES

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

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

Настройка DATABASES должна настраивать базу данных default; также может быть указано любое количество дополнительных баз данных.

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

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": "mydatabase",
    }
}

При подключении к другим бэкендам баз данных, таким как MariaDB, MySQL, Oracle или PostgreSQL, потребуются дополнительные параметры подключения. См. настройку ENGINE ниже, чтобы указать другие типы баз данных. Этот пример для PostgreSQL:

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "NAME": "mydatabase",
        "USER": "mydatabaseuser",
        "PASSWORD": "mypassword",
        "HOST": "127.0.0.1",
        "PORT": "5432",
    }
}

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

ATOMIC_REQUESTS

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

Установите это значение в True, чтобы обернуть каждый вид в транзакцию в этой базе данных. См. Связывание транзакций с HTTP-запросами.

AUTOCOMMIT

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

Установите это значение в False, если вы хотите отключить управление транзакциями Django и реализовать собственное.

ENGINE

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

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

  • '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» («хост» строки в pg_hba.conf). В Windows вы всегда должны определять HOST, так как сокеты доменной системы Unix недоступны.

NAME

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

Имя базы данных для использования. Для SQLite — это полный путь к файлу базы данных. При указании пути всегда используйте прямые косые черты, даже в Windows (например, C:/homes/user/mysite/sqlite3.db).

CONN_MAX_AGE

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

Срок действия подключения к базе данных в секундах. Используйте 0, чтобы закрывать подключения к базе данных в конце каждого запроса — историческое поведение Django — и None для неограниченных постоянных подключений к базе данных.

CONN_HEALTH_CHECKS

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

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

OPTIONS

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

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

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

PASSWORD

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

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

PORT

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

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

TIME_ZONE

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

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

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

Когда USE_TZ равно False, установка этого параметра является ошибкой.

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

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

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

    Хотя установка параметра TIME_ZONE очень редко необходима, существуют ситуации, когда это становится необходимым. В частности, рекомендуется сопоставить общую настройку TIME_ZONE при работе с сырыми запросами, включающими функции даты/времени, такие как PostgreSQL’s date_trunc() или generate_series(), особенно при генерировании временных рядов, которые переходят на летнее время.

    Это значение может быть изменено в любое время, база данных обработает преобразование datetime в настроенный часовой пояс.

    Однако это имеет недостаток: получение всех datetime в местном времени усложняет арифметику datetime — вам необходимо учитывать возможные изменения смещения во время перехода на летнее время.

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

DISABLE_SERVER_SIDE_CURSORS

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

Установите это значение в True, если вы хотите отключить использование курсоров на стороне сервера с QuerySet.iterator(). Пулы транзакций и курсоры на стороне сервера описывает использование.

Это PostgreSQL-специфичная настройка.

USER

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

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

TEST

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

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

Вот пример конфигурации тестовой базы данных:

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "USER": "mydatabaseuser",
        "NAME": "mydatabase",
        "TEST": {
            "NAME": "mytestdatabase",
        },
    },
}

В словаре TEST доступны следующие ключи:

CHARSET

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

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

Поддерживается бэкендами PostgreSQL (postgresql) и MySQL (mysql).

COLLATION

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

Порядок сортировки для создания тестовой базы данных. Это значение передаётся непосредственно бэкенду, поэтому его формат зависит от бэкенда.

Поддерживается только для бэкенда mysql (см. документацию MySQL для получения подробных сведений).

DEPENDENCIES

Значение по умолчанию: ['default'] для всех баз данных, кроме default, у которой нет зависимостей.

Зависимости при создании базы данных. Подробности см. в документации по управлению порядком создания тестовых баз данных.

MIGRATE

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

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

MIRROR

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

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

Этот параметр нужен для тестирования конфигураций мастер-раб (называемых в некоторых базах данных мастер-слэйв) нескольких баз данных. Подробности см. в документации по тестированию конфигураций мастер-раб.

NAME

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

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

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

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

TEMPLATE

Это параметр, специфичный для PostgreSQL.

Имя шаблона (например, 'template0'), на основе которого создаётся тестовая база данных.

CREATE_DB

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

Это параметр, специфичный для Oracle.

Если он установлен в False, тестовые табличные пространства не будут автоматически создаваться в начале тестов и удаляться в конце.

CREATE_USER

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

Это параметр, специфичный для Oracle.

Если он установлен в False, тестовый пользователь не будет автоматически создаваться в начале тестов и удаляться в конце.

USER

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

Это параметр, специфичный для Oracle.

Имя пользователя для подключения к базе данных Oracle, которая будет использоваться при выполнении тестов. Если не указано, Django будет использовать 'test_' + USER.

PASSWORD

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

Это параметр, специфичный для Oracle.

Пароль для подключения к базе данных Oracle, которая будет использоваться при выполнении тестов. Если не указано, Django сгенерирует случайный пароль.

ORACLE_MANAGED_FILES

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

Это параметр, специфичный для Oracle.

Если установлено значение True, будут использоваться табличные пространства Oracle Managed Files (OMF). DATAFILE и DATAFILE_TMP будут проигнорированы.

TBLSPACE

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

Это параметр, специфичный для Oracle.

Имя табличного пространства, которое будет использоваться при выполнении тестов. Если не указано, Django будет использовать 'test_' + USER.

TBLSPACE_TMP

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

Это параметр, специфичный для Oracle.

Имя временного табличного пространства, которое будет использоваться при выполнении тестов. Если не указано, Django будет использовать 'test_' + USER + '_temp'.

DATAFILE

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

Это параметр, специфичный для Oracle.

Имя файла данных для использования в TBLSPACE. Если не указано, Django будет использовать TBLSPACE + '.dbf'.

DATAFILE_TMP

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

Это параметр, специфичный для Oracle.

Имя файла данных для использования в TBLSPACE_TMP. Если не указано, Django будет использовать TBLSPACE_TMP + '.dbf'.

DATAFILE_MAXSIZE

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

Это параметр, специфичный для Oracle.

Максимальный размер, до которого разрешено увеличивать DATAFILE.

DATAFILE_TMP_MAXSIZE

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

Это параметр, специфичный для Oracle.

Максимальный размер, до которого разрешено увеличивать DATAFILE_TMP.

DATAFILE_SIZE

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

Это параметр, специфичный для Oracle.

Начальный размер DATAFILE.

DATAFILE_TMP_SIZE

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

Это параметр, специфичный для Oracle.

Начальный размер DATAFILE_TMP.

DATAFILE_EXTSIZE

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

Это параметр, специфичный для Oracle.

Количество, на которое DATAFILE увеличивается при необходимости большего объёма.

DATAFILE_TMP_EXTSIZE

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

Это параметр, специфичный для Oracle.

Количество, на которое DATAFILE_TMP увеличивается при необходимости большего объёма.

DATA_UPLOAD_MAX_MEMORY_SIZE

Значение по умолчанию: 2621440 (т.е. 2,5 МБ).

Максимальный размер тела запроса в байтах, после которого будет поднято исключение SuspiciousOperation (RequestDataTooBig). Проверка выполняется при обращении к request.body или request.POST и рассчитывается относительно общего размера запроса за вычетом данных загрузки файлов. Можно установить это значение в None, чтобы отключить проверку. Приложения, которые ожидают получать необычно большие формы, должны настроить это значение.

Размер данных запроса соответствует объёму памяти, необходимому для обработки запроса и заполнения словарей GET и POST. Большие запросы могут использоваться для атак типа "отказ в обслуживании", если их не контролировать. Поскольку веб-серверы обычно не проводят глубокий анализ запросов, выполнить аналогичную проверку на этом уровне невозможно.

См. также FILE_UPLOAD_MAX_MEMORY_SIZE.

DATA_UPLOAD_MAX_NUMBER_FIELDS

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

Максимальное количество параметров, которые могут быть получены через GET или POST, прежде чем будет поднято исключение SuspiciousOperation (TooManyFields). Можно установить это значение в None, чтобы отключить проверку. Приложения, которые ожидают получать необычно большое количество полей формы, должны настроить это значение.

Количество параметров запроса соответствует объёму времени, необходимому для обработки запроса и заполнения словарей GET и POST. Большие запросы могут использоваться для атак типа "отказ в обслуживании", если их не контролировать. Поскольку веб-серверы обычно не проводят глубокий анализ запросов, выполнить аналогичную проверку на этом уровне невозможно.

DATA_UPLOAD_MAX_NUMBER_FILES

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

Максимальное количество файлов, которые могут быть получены через POST в запросе с кодировкой multipart/form-data, прежде чем будет поднято исключение SuspiciousOperation (TooManyFiles). Вы можете установить это значение в None, чтобы отключить проверку. Приложения, ожидающие получения необычно большого количества полей файлов, должны настроить это значение.

Количество принимаемых файлов связано со временем и объёмом памяти, необходимыми для обработки запроса. Крупные запросы могут быть использованы как вектор атаки типа «отказ в обслуживании», если их не проверить. Поскольку веб-серверы обычно не выполняют глубокий анализ запросов, подобную проверку на этом уровне выполнить невозможно.

DATABASE_ROUTERS

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

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

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

DATE_FORMAT

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

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

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

DATE_INPUT_FORMATS

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

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

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

Формат, определённый локалью, имеет более высокий приоритет и будет применён вместо него.

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

DATETIME_FORMAT

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

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

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

DATETIME_INPUT_FORMATS

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

[
    "%Y-%m-%d %H:%M:%S",  # '2006-10-25 14:30:59'
    "%Y-%m-%d %H:%M:%S.%f",  # '2006-10-25 14:30:59.000200'
    "%Y-%m-%d %H:%M",  # '2006-10-25 14:30'
    "%m/%d/%Y %H:%M:%S",  # '10/25/2006 14:30:59'
    "%m/%d/%Y %H:%M:%S.%f",  # '10/25/2006 14:30:59.000200'
    "%m/%d/%Y %H:%M",  # '10/25/2006 14:30'
    "%m/%d/%y %H:%M:%S",  # '10/25/06 14:30:59'
    "%m/%d/%y %H:%M:%S.%f",  # '10/25/06 14:30:59.000200'
    "%m/%d/%y %H:%M",  # '10/25/06 14:30'
]

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

Формат, определённый локалью, имеет более высокий приоритет и будет применён вместо него.

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

DEBUG

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

Булево значение, включающее/отключающее режим отладки.

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

Одна из основных функций режима отладки — отображение подробных страниц ошибок. Если ваше приложение вызывает исключение, когда DEBUG включено, Django отобразит подробный traceback, включая много метаданных об вашей среде, такие как все текущие настройки Django (из settings.py).

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

  • 'API'
  • 'KEY'
  • 'PASS'
  • 'SECRET'
  • 'SIGNATURE'
  • 'TOKEN'

Обратите внимание, что это частичные совпадения. 'PASS' также будет соответствовать PASSWORD, так же как 'TOKEN' также будет соответствовать TOKENIZED и так далее.

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

Также важно помнить, что при работе с включённым DEBUG, Django будет запоминать каждый SQL-запрос, который он выполняет. Это полезно при отладке, но быстро потребляет память на сервере в производстве.

Наконец, если DEBUG включено, вам также необходимо правильно установить настройку ALLOWED_HOSTS. В противном случае все запросы будут возвращены с кодом «Неправильный запрос (400)».

Примечание

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

DEBUG_PROPAGATE_EXCEPTIONS

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

Если установлено в True, обработка исключений Django для функций представления (handler500 или представление отладки, если DEBUG включено) и регистрация ответов 500 (django.request) пропущена, и исключения передаются вверх.

Это может быть полезно для некоторых тестовых установок. Не следует использовать на рабочем сайте, если вы не хотите, чтобы ваш веб-сервер (а не Django) генерировал ответы «Ошибка сервера (500) ». В этом случае убедитесь, что ваш сервер не показывает трассировку стека или другую конфиденциальную информацию в ответе.

DECIMAL_SEPARATOR

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

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

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

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

DEFAULT_AUTO_FIELD

Значение по умолчанию: 'django.db.models.AutoField'

Тип поля первичного ключа по умолчанию, который следует использовать для моделей, у которых нет поля с primary_key=True.

Миграция автоматически созданных таблиц через

Значение DEFAULT_AUTO_FIELD будет учитываться при создании новых автоматически созданных таблиц через для отношений "многие ко многим".

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

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

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

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

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

DEFAULT_CHARSET

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

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

DEFAULT_EXCEPTION_REPORTER

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

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

DEFAULT_EXCEPTION_REPORTER_FILTER

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

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

DEFAULT_FROM_EMAIL

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

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

Это не влияет на сообщения об ошибках, отправленные в ADMINS и MANAGERS. См. SERVER_EMAIL для этого.

DEFAULT_INDEX_TABLESPACE

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

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

DEFAULT_TABLESPACE

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

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

DISALLOWED_USER_AGENTS

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

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

EMAIL_BACKEND

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

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

EMAIL_FILE_PATH

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

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

EMAIL_HOST

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

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

См. также EMAIL_PORT.

EMAIL_HOST_PASSWORD

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

Пароль для использования с SMTP-сервером, определённым в EMAIL_HOST. Эта настройка используется совместно с EMAIL_HOST_USER при аутентификации на SMTP-сервере. Если какое-либо из этих значений пустое, Django не будет пытаться выполнить аутентификацию.

См. также EMAIL_HOST_USER.

EMAIL_HOST_USER

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

Имя пользователя для использования с SMTP-сервером, определённым в EMAIL_HOST. Если пустое, Django не будет пытаться выполнить аутентификацию.

См. также EMAIL_HOST_PASSWORD.

EMAIL_PORT

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

Порт для использования с SMTP-сервером, определённым в EMAIL_HOST.

EMAIL_SUBJECT_PREFIX

По умолчанию: '[Django] '

Префикс строки темы для электронных сообщений, отправленных с помощью django.core.mail.mail_admins или django.core.mail.mail_managers. Вероятно, вам потребуется включить конечный пробел.

EMAIL_USE_LOCALTIME

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

Нужно ли отправлять заголовок SMTP Date электронных сообщений в местном часовом поясе (True) или по UTC (False).

EMAIL_USE_TLS

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

Использовать ли TLS (безопасное) соединение при общении с SMTP-сервером. Это используется для явных TLS-соединений, как правило, на порту 587. Если у вас возникают проблемы с зависанием соединений, см. настройку неявного TLS EMAIL_USE_SSL.

EMAIL_USE_SSL

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

Использовать ли неявное TLS (безопасное) соединение при общении с SMTP-сервером. В большинстве документации по электронной почте этот тип TLS-соединения называется SSL. Обычно используется на порту 465. Если у вас возникают проблемы, см. настройку явного TLS EMAIL_USE_TLS.

Обратите внимание, что EMAIL_USE_TLS/EMAIL_USE_SSL взаимоисключающие, поэтому установите только одно из этих значений в True.

EMAIL_SSL_CERTFILE

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

Если EMAIL_USE_SSL или EMAIL_USE_TLS равно True и для безопасного подключения к SMTP-серверу требуется проверка подлинности клиента, используйте эту настройку для указания пути к файлу цепочки сертификатов в формате PEM, который должен использоваться совместно с EMAIL_SSL_KEYFILE.

EMAIL_SSL_CERTFILE не следует использовать с самозаверенным сертификатом сервера или сертификатом из частного центра сертификации (ЦС). В таких случаях сертификат сервера (или корневой сертификат частного ЦС) должен быть установлен в системный пакет сертификатов ЦС. Это можно сделать, выполнив инструкции, специфичные для платформы, для установки корневого сертификата ЦС, или используя переменные среды OpenSSL’s SSL_CERT_FILE или SSL_CERT_DIR для указания пользовательского пакета сертификатов (если изменение системного пакета сертификатов невозможно или нежелательно).

Для более сложных сценариев SMTP EmailBackend можно подклассировать, чтобы добавить корневые сертификаты в его ssl_context, используя ssl.SSLContext.load_verify_locations().

EMAIL_SSL_KEYFILE

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

Если EMAIL_USE_SSL или EMAIL_USE_TLS равно True, вы можете дополнительно указать путь к файлу закрытого ключа в формате PEM для проверки подлинности клиента SSL-соединения вместе с EMAIL_SSL_CERTFILE.

Обратите внимание, что установка EMAIL_SSL_CERTFILE и EMAIL_SSL_KEYFILE не приводит к проверке сертификатов. Они передаются в базовое SSL-соединение. Обратитесь к документации функции Python ssl.SSLContext.wrap_socket() для получения подробной информации о том, как обрабатываются файл цепочки сертификатов и файл закрытого ключа.

EMAIL_TIMEOUT

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

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

FILE_UPLOAD_HANDLERS

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

[
    "django.core.files.uploadhandler.MemoryFileUploadHandler",
    "django.core.files.uploadhandler.TemporaryFileUploadHandler",
]

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

Подробности см. в разделе Управление файлами.

FILE_UPLOAD_MAX_MEMORY_SIZE

По умолчанию: 2621440 (т.е. 2,5 МБ).

Максимальный размер (в байтах), до которого загрузка будет происходить в потоковом режиме, прежде чем она будет передана в файловую систему. Подробности см. в разделе Управление файлами.

См. также DATA_UPLOAD_MAX_MEMORY_SIZE.

FILE_UPLOAD_DIRECTORY_PERMISSIONS

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

Числовой режим, применяемый к каталогам, созданным в процессе загрузки файлов.

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

Это значение отражает функциональность и замечания параметра FILE_UPLOAD_PERMISSIONS.

FILE_UPLOAD_PERMISSIONS

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

Числовой режим (т.е. 0o644), который будет установлен для вновь загруженных файлов. Более подробную информацию о том, что означают эти режимы, см. в документации по os.chmod().

Если None, вы получите поведение, зависящее от операционной системы. На большинстве платформ временные файлы будут иметь режим 0o600, а файлы, сохраненные из памяти, будут сохранены с помощью стандартной маски umask системы.

По соображениям безопасности эти права не применяются к временным файлам, хранящимся в FILE_UPLOAD_TEMP_DIR.

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

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

Всегда добавляйте префикс к режиму 0o .

Если вы не знакомы с режимами файлов, обратите внимание, что префикс 0o очень важен: он указывает на восьмеричное число, в котором должны быть указаны режимы. Если вы попытаетесь использовать 644, вы получите совершенно неправильное поведение.

FILE_UPLOAD_TEMP_DIR

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

Каталог для временного хранения данных (обычно файлы, превышающие FILE_UPLOAD_MAX_MEMORY_SIZE) при загрузке файлов. Если None, Django будет использовать стандартный временный каталог операционной системы. Например, по умолчанию это будет /tmp на операционных системах типа *nix.

Подробности см. в разделе Управление файлами.

FIRST_DAY_OF_WEEK

По умолчанию: 0 (воскресенье)

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

Значение должно быть целым числом от 0 до 6, где 0 означает воскресенье, 1 — понедельник и так далее.

FIXTURE_DIRS

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

Список каталогов, проверяемых на наличие файлов фикстур, помимо каталога fixtures каждого приложения, в порядке поиска.

Обратите внимание, что эти пути должны использовать косые черты в стиле Unix, даже в Windows.

См. Предоставление данных с помощью фикстур и Загрузка фикстур.

FORCE_SCRIPT_NAME

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

Если не None, это будет использоваться как значение переменной среды SCRIPT_NAME в любом запросе HTTP. Этот параметр может использоваться для переопределения значения, предоставляемого сервером SCRIPT_NAME, которое может быть переписанной версией предпочтительного значения или вообще не предоставлено. Он также используется django.setup() для установки префикса скрипта решателя URL вне цикла запроса/ответа (например, в командах управления и автономных скриптах) для генерации правильных URL-адресов, когда FORCE_SCRIPT_NAME предоставлено.

FORM_RENDERER

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

Класс, отображающий формы и виджеты форм. Он должен реализовывать интерфейс отображения виджетов. Включенные рендереры форм:

  • 'django.forms.renderers.DjangoTemplates'
  • 'django.forms.renderers.Jinja2'
  • 'django.forms.renderers.TemplatesSetting'

FORMS_URLFIELD_ASSUME_HTTPS

Устаревшее с версии 5.0.

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

Установите этот переходный параметр в True, чтобы включить использование "https" в качестве нового значения по умолчанию для URLField.assume_scheme во время цикла выпуска Django 5.x.

FORMAT_MODULE_PATH

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

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

Имя каталога, содержащего определения форматов, должно быть указано в соответствии с нотацией имени локали, например de, pt_BR, en_US и т.д.

Например, если FORMAT_MODULE_PATH установлено в mysite.formats, а текущий язык — en (английский), Django будет ожидать структуру каталогов, подобную:

mysite/
    formats/
        __init__.py
        en/
            __init__.py
            formats.py

Вы также можете установить этот параметр в список путей Python, например:

FORMAT_MODULE_PATH = [
    "mysite.formats",
    "some_app.formats",
]

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

Доступные форматы:

  • DATE_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". См. также список идентификаторов языка и Международная и локализация.

Он служит для трёх целей:

  • Если среда локализации не используется, она определяет, какой перевод будет показан всем пользователям.
  • Если среда локализации активна, она предоставляет язык по умолчанию в случае, если предпочтительный язык пользователя не может быть определен или не поддерживается веб-сайтом. Она также предоставляет перевод по умолчанию, когда перевод для данного литерала не существует для предпочтительного языка пользователя.
  • Если локализация явно отключена с помощью фильтра unlocalize или тега {% localize off %}, она предоставляет форматы локализации по умолчанию, которые будут применены вместо них. См. управление локализациями в шаблонах для получения подробной информации.

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

LANGUAGE_COOKIE_AGE

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

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

LANGUAGE_COOKIE_DOMAIN

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

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

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

LANGUAGE_COOKIE_HTTPONLY

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

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

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

LANGUAGE_COOKIE_NAME

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

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

LANGUAGE_COOKIE_PATH

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

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

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

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

LANGUAGE_COOKIE_SAMESITE

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

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

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

LANGUAGE_COOKIE_SECURE

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

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

LANGUAGES

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

Список представляет собой список 2-кортежей в формате (код языка, language name) – например, ('ja', 'Japanese'). Это определяет, какие языки доступны для выбора. См. Международная и локализация.

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

Если вы определяете пользовательское значение LANGUAGES, вы можете отметить имена языков как строки для перевода, используя функцию gettext_lazy().

Вот пример файла настроек:

from django.utils.translation import gettext_lazy as _

LANGUAGES = [
    ("de", _("German")),
    ("en", _("English")),
]

LANGUAGES_BIDI

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

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

В целом, значение по умолчанию должно быть достаточным. Изменяйте это значение только в том случае, если вы хотите ограничить выбор языка подмножеством языков, предоставляемых Django. Если вы определяете пользовательское значение LANGUAGES, список двунаправленных языков может содержать коды языков, которые не включены на данном сайте.

LOCALE_PATHS

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

Список каталогов, в которых Django ищет файлы переводов. См. Как Django обнаруживает переводы.

Пример:

LOCALE_PATHS = [
    "/home/www/project/common_files/locale",
    "/var/local/translations/locale",
]

Django будет искать внутри каждого из этих путей каталоги <locale_code>/LC_MESSAGES, содержащие фактические файлы переводов.

LOGGING

Значение по умолчанию: Словарь конфигурации логгера.

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

Среди прочего, конфигурация логгера по умолчанию отправляет ошибки сервера HTTP 500 в обработчик логов электронной почты, когда DEBUG равна False. См. также Настройка логгирования.

Вы можете посмотреть конфигурацию логгера по умолчанию, обратившись к django/utils/log.py.

LOGGING_CONFIG

Значение по умолчанию: 'logging.config.dictConfig'

Путь к вызываемому объекту, который будет использоваться для настройки логгирования в проекте Django. По умолчанию указывает на экземпляр метода конфигурации dictConfig Python.

Если вы установите LOGGING_CONFIG в None, процесс конфигурирования логгирования будет пропущен.

MANAGERS

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

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

MEDIA_ROOT

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

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

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

См. также MEDIA_URL.

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

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

MEDIA_URL

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

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

Если вы хотите использовать {{ MEDIA_URL }} в своих шаблонах, добавьте 'django.template.context_processors.media' в параметр 'context_processors' TEMPLATES.

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

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

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

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

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

Примечание

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

MIDDLEWARE

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

Список используемых 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 января».

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

См. allowed date format strings. См. также DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и YEAR_MONTH_FORMAT.

NUMBER_GROUPING

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

Количество цифр, сгруппированных вместе в целой части числа.

Часто используется для отображения разделителя тысяч. Если это значение равно 0, то группировка чисел не будет применена. Если это значение больше 0, то THOUSAND_SEPARATOR будет использоваться в качестве разделителя между этими группами.

В некоторых локалях используется неравномерная группировка цифр, например, 10,00,00,000 в en_IN. В этом случае вы можете указать последовательность с количеством размеров групп цифр, которые нужно применить. Первое число определяет размер группы, предшествующей десятичному разделителю, а каждое последующее число определяет размер предыдущих групп. Если последовательность завершается -1, дальнейшая группировка не выполняется. Если последовательность завершается 0, размер последней группы используется для оставшейся части числа.

Пример кортежа для en_IN:

NUMBER_GROUPING = (3, 2, 0)

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

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

PREPEND_WWW

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

Должен ли добавляться префикс «www.» к доменным именам в URL-адресах, в которых его нет. Это используется только в том случае, если CommonMiddleware установлен (см. Средства). См. также APPEND_SLASH.

ROOT_URLCONF

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

Строка, представляющая полный путь импорта Python к вашему корневому URLconf, например "mydjangoapps.urls". Может быть переопределена на уровне каждого запроса путём установки атрибута urlconf на входящий HttpRequest объект. См. Как Django обрабатывает запрос для получения дополнительных сведений.

SECRET_KEY

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

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

django-admin startproject автоматически добавляет случайно сгенерированный SECRET_KEY к каждому новому проекту.

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

Django откажется от запуска, если SECRET_KEY не задан.

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

Храните это значение в секрете.

Запуск Django с известным SECRET_KEY обходит многие защитные механизмы Django и может привести к повышению привилегий и уязвимостям удалённого выполнения кода.

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

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

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

Примечание

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

SECRET_KEY_FALLBACKS

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

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

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

Примечание

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

Поэтому значения резервного копирования следует удалять после соответствующего периода, что позволит сменить ключи.

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

SECURE_CONTENT_TYPE_NOSNIFF

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

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

SECURE_CROSS_ORIGIN_OPENER_POLICY

По умолчанию: 'same-origin'

Если не задано значение None, то SecurityMiddleware устанавливает заголовок Cross-Origin Opener Policy для всех ответов, которые его ещё не содержат, со значением, указанным в настройке.

SECURE_HSTS_INCLUDE_SUBDOMAINS

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

Если True, SecurityMiddleware добавляет директиву includeSubDomains к заголовку HTTP Strict Transport Security. Она не имеет эффекта, если SECURE_HSTS_SECONDS не задано ненулевым значением.

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

Некорректная настройка может необратимо (для значения SECURE_HSTS_SECONDS) сломать ваш сайт. Сначала ознакомьтесь с документацией HTTP Strict Transport Security.

SECURE_HSTS_PRELOAD

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

Если True, то SecurityMiddleware добавляет директиву preload в заголовок HTTP Strict Transport Security. Она не имеет эффекта, если SECURE_HSTS_SECONDS не установлено в ненулевое значение.

SECURE_HSTS_SECONDS

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

Если установлено в ненулевое целое значение, то SecurityMiddleware устанавливает заголовок HTTP Strict Transport Security во всех ответах, в которых его ещё нет.

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

Неправильная настройка может привести к необратимому (на некоторое время) выходу из строя вашего сайта. Сначала ознакомьтесь с документацией HTTP Strict Transport Security.

SECURE_PROXY_SSL_HEADER

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

Кортеж, представляющий комбинацию HTTP заголовка/значения, которая указывает, что запрос защищён. Это управляет поведением метода is_secure() объекта запроса.

По умолчанию, is_secure() определяет, является ли запрос защищённым, проверяя, использует ли запрашиваемый URL https://. Этот метод важен для защиты CSRF в Django, и может использоваться вашим кодом или сторонними приложениями.

Однако, если ваше приложение Django расположено за прокси-сервером, прокси-сервер может «поглощать» информацию о том, использует ли исходный запрос HTTPS или нет. Если соединение между прокси-сервером и Django не является HTTPS, то is_secure() всегда вернёт False – даже для запросов, сделанных пользователем через HTTPS. В противоположность этому, если соединение между прокси-сервером и Django является HTTPS, то is_secure() всегда вернёт True – даже для запросов, изначально сделанных через HTTP.

В этой ситуации настройте свой прокси-сервер на установку пользовательского HTTP заголовка, который сообщает Django, пришёл ли запрос через HTTPS, и установите SECURE_PROXY_SSL_HEADER, чтобы Django знал, какой заголовок искать.

Установите кортеж из двух элементов – имя заголовка для поиска и требуемое значение. Например:

SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")

Это сообщает Django доверять заголовку X-Forwarded-Proto, полученному от нашего прокси-сервера, и что запрос гарантированно безопасен (т.е. он изначально пришёл через HTTPS), когда:

  • значение заголовка равно 'https', или
  • его начальное, левое значение равно 'https' в случае списка протоколов, разделённых запятыми (например, 'https,http,http').

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

Обратите внимание, что заголовок должен быть в формате, используемом request.META – все заглавные буквы и, вероятно, начинающийся с HTTP_. (Помните, Django автоматически добавляет 'HTTP_' в начало имён заголовков x перед предоставлением заголовка в request.META.)

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

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

Убедитесь, что ВСЕ из следующего истинно перед настройкой этого (при условии значений из примера выше):

  • Ваше приложение Django находится за прокси-сервером.
  • Ваш прокси-сервер удаляет заголовок X-Forwarded-Proto из всех входящих запросов, даже если он содержит список протоколов, разделённых запятыми. Другими словами, если конечные пользователи включают этот заголовок в свои запросы, прокси-сервер его отбросит.
  • Ваш прокси-сервер устанавливает заголовок X-Forwarded-Proto и отправляет его Django, но только для запросов, которые изначально приходят через HTTPS.

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

SECURE_REDIRECT_EXEMPT

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

Если путь URL соответствует регулярному выражению в этом списке, запрос не будет перенаправлен на HTTPS. SecurityMiddleware удаляет ведущие косые черты из путей URL, поэтому шаблоны не должны их включать, например, SECURE_REDIRECT_EXEMPT = [r'^no-ssl/$', …]. Если SECURE_SSL_REDIRECT равно False, эта настройка не оказывает влияния.

SECURE_REFERRER_POLICY

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

Если настроено, то SecurityMiddleware устанавливает заголовок Referrer Policy во всех ответах, в которых его ещё нет, с заданным значением.

SECURE_SSL_HOST

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

Если строка (например, secure.example.com), все перенаправления SSL будут направлены на этот хост вместо первоначально запрошенного хоста (например, www.example.com). Если SECURE_SSL_REDIRECT равно False, эта настройка не оказывает влияния.

SECURE_SSL_REDIRECT

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

Если True, то SecurityMiddleware перенаправляет все запросы без HTTPS на HTTPS (за исключением URL, соответствующих регулярному выражению, перечисленному в SECURE_REDIRECT_EXEMPT).

Примечание

Если включение этой опции приводит к бесконечным перенаправлениям, вероятно, это означает, что ваш сайт работает за прокси-сервером и не может определить, какие запросы защищены, а какие нет. Ваш прокси-сервер, скорее всего, устанавливает заголовок, указывающий защищённые запросы; вы можете исправить проблему, выяснив, какой это заголовок, и соответствующим образом настроив настройку SECURE_PROXY_SSL_HEADER.

SERIALIZATION_MODULES

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

Словарь модулей, содержащих определения сериализаторов (предоставлены как строки), с ключами, являющимися строковыми идентификаторами типа сериализации. Например, для определения сериализатора YAML используйте:

SERIALIZATION_MODULES = {"yaml": "path.to.yaml_serializer"}

SERVER_EMAIL

Значение по умолчанию: 'root@localhost'

Электронный адрес, с которого отправляются сообщения об ошибках, например, те, что отправляются адресам ADMINS и MANAGERS. Этот адрес используется в заголовке From: и может принимать любой формат, допустимый в выбранном протоколе отправки электронной почты.

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

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

SHORT_DATE_FORMAT

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

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

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

SHORT_DATETIME_FORMAT

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

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

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

SIGNING_BACKEND

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

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

См. также документацию Криптографическое шифрование.

SILENCED_SYSTEM_CHECKS

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

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

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

STORAGES

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

{
    "default": {
        "BACKEND": "django.core.files.storage.FileSystemStorage",
    },
    "staticfiles": {
        "BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage",
    },
}

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

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

  • default для управления файлами. 'django.core.files.storage.FileSystemStorage' — это движок хранения по умолчанию.
  • staticfiles для управления статическими файлами. 'django.contrib.staticfiles.storage.StaticFilesStorage' — это движок хранения по умолчанию.

Следующий пример settings.py фрагмента кода определяет пользовательское хранилище файлов, называемое example:

STORAGES = {
    # ...
    "example": {
        "BACKEND": "django.core.files.storage.FileSystemStorage",
        "OPTIONS": {
            "location": "/example",
            "base_url": "/example/",
        },
    },
}

OPTIONS передаются в BACKEND при инициализации в **kwargs.

Готовый экземпляр хранилищ можно получить из django.core.files.storage.storages. Используйте ключ, соответствующий определению бэкенда в STORAGES.

Объединяется ли моё значение с значением по умолчанию?

Определение этого параметра переопределяет значение по умолчанию и не объединяется с ним.

TEMPLATES

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

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

Вот настройка, которая говорит Django шаблоны загружать из подкаталога templates внутри каждой установленной приложения:

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "APP_DIRS": True,
    },
]

Следующие параметры доступны для всех бэкэндов.

BACKEND

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

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

  • 'django.template.backends.django.DjangoTemplates'
  • 'django.template.backends.jinja2.Jinja2'

Вы можете использовать бэкенд шаблонов, который не поставляется с Django, установив BACKEND на полный путь (например, 'mypackage.whatever.Backend').

NAME

По умолчанию: см. ниже

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

По умолчанию — имя модуля, определяющего класс движка, т. е. предпоследняя часть BACKEND, если оно не указано. Например, если бэкенд — 'mypackage.whatever.Backend', то его имя по умолчанию — 'whatever'.

DIRS

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

Директории, в которых движок должен искать файлы шаблонов, в порядке поиска.

APP_DIRS

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

Должен ли движок искать файлы шаблонов внутри установленных приложений?

Примечание

Созданный по умолчанию файл settings.py django-admin startproject устанавливает значение 'APP_DIRS': True.

OPTIONS

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

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

TEST_RUNNER

По умолчанию: 'django.test.runner.DiscoverRunner'

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

TEST_NON_SERIALIZED_APPS

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

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

Это замедляет время запуска тестового исполнителя; если у вас есть приложения, которым эта функция не нужна, вы можете добавить их полные имена (например, 'django.contrib.contenttypes'), чтобы исключить их из этого процесса сериализации.

THOUSAND_SEPARATOR

По умолчанию: ',' (Запятая)

Разделитель тысяч по умолчанию, используемый при форматировании чисел. Этот параметр используется только когда USE_THOUSAND_SEPARATOR равен True и NUMBER_GROUPING больше 0.

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

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

TIME_FORMAT

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

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

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

TIME_INPUT_FORMATS

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

[
    "%H:%M:%S",  # '14:30:59'
    "%H:%M:%S.%f",  # '14:30:59.000200'
    "%H:%M",  # '14:30'
]

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

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

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

TIME_ZONE

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

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

Примечание

С момента первого выпуска Django с TIME_ZONE установленным на 'America/Chicago', глобальная настройка (используемая, если ничего не определено в вашем проекте settings.py) остается 'America/Chicago' для обеспечения обратной совместимости. Шаблоны новых проектов по умолчанию установлены на 'UTC'.

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

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

В средах Unix (где реализован time.tzset()), Django устанавливает переменную os.environ['TZ'] на часовой пояс, который вы указали в настройке TIME_ZONE. Таким образом, все ваши представления и модели будут автоматически работать в этом часовом поясе. Однако Django не будет устанавливать переменную среды TZ, если вы используете ручной вариант конфигурации, как описано в ручном конфигурировании настроек. Если Django не устанавливает переменную среды TZ, вам необходимо убедиться, что ваши процессы работают в правильной среде.

Примечание

Django не может надежно использовать альтернативные часовые пояса в среде Windows. Если вы работаете с Django в Windows, TIME_ZONE должен быть настроен в соответствии с часовым поясом системы.

USE_I18N

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

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

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

Примечание

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

USE_THOUSAND_SEPARATOR

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

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

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

USE_TZ

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

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

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

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

USE_X_FORWARDED_HOST

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

Булево значение, указывающее, следует ли использовать заголовок X-Forwarded-Host вместо заголовка Host. Это следует включать только если используется прокси, который устанавливает этот заголовок.

Эта настройка имеет приоритет над USE_X_FORWARDED_PORT. Согласно RFC 7239 Раздел 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 Admin — и, возможно, в других частях системы — в случаях, когда отображаются только год и месяц.

Например, когда страница изменения списка Django Admin фильтруется по датам, заголовок для данного месяца отображает месяц и год. Разные локали имеют разные форматы. Например, в английском США это будет "Январь 2006", тогда как в другой локали это может быть "2006/Январь".

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

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

X_FRAME_OPTIONS

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

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

Авторизация

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

AUTHENTICATION_BACKENDS

По умолчанию: ['django.contrib.auth.backends.ModelBackend']

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

AUTH_USER_MODEL

По умолчанию: 'auth.User'

Модель для представления пользователя. См. замену пользовательской модели.

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

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

LOGIN_REDIRECT_URL

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

URL или имя URL-шаблона, куда перенаправляются запросы после входа в систему, если LoginView не получает параметр next GET.

LOGIN_URL

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

URL или имя URL-шаблона, куда перенаправляются запросы для входа в систему при использовании декоратора login_required(), LoginRequiredMixin, AccessMixin или при установке LoginRequiredMiddleware.

LOGOUT_REDIRECT_URL

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

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

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

PASSWORD_RESET_TIMEOUT

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

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

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

Примечание

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

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

PASSWORD_HASHERS

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

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

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

AUTH_PASSWORD_VALIDATORS

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

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

Сообщения

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

MESSAGE_LEVEL

По умолчанию: messages.INFO

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

Избегание циклических импортов

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

from django.contrib.messages import constants as message_constants

MESSAGE_LEVEL = message_constants.DEBUG

При необходимости вы можете указать числовые значения констант в соответствии со значениями в таблице констант выше.

MESSAGE_STORAGE

По умолчанию: 'django.contrib.messages.storage.fallback.FallbackStorage'

Определяет, где Django хранит данные о сообщениях. Допустимые значения:

  • 'django.contrib.messages.storage.fallback.FallbackStorage'
  • 'django.contrib.messages.storage.session.SessionStorage'
  • 'django.contrib.messages.storage.cookie.CookieStorage'

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

Бэкенды, использующие куки — 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 для стандартных куки-файлов домена.

Чтобы использовать куки-файлы между доменами с CSRF_USE_SESSIONS, необходимо добавить ведущую точку (например, ".example.com"), чтобы учесть проверку referer посредством middleware CSRF.

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

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

SESSION_COOKIE_HTTPONLY

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

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

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

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

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.JSONSerializer'

См. Сериализация сессий для получения подробностей.

Сайты

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

SITE_ID

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

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

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

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

STATIC_ROOT

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

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

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

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

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

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

STATIC_URL

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

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

Пример: "static/" или "https://static.example.com/"

Если не None, это будет использоваться в качестве базового пути для определений ресурсов (класс Media) и приложения staticfiles.

Он должен заканчиваться слешем, если задано ненулевое значение.

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

Примечание

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

STATICFILES_DIRS

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

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

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

STATICFILES_DIRS = [
    "/home/special.polls.com/polls/static",
    "/home/polls.com/polls/static",
    "/opt/webfiles/common",
]

Обратите внимание, что эти пути должны использовать косые черты в стиле Unix, даже в Windows (например, "C:/Users/user/mysite/extra_static_content").

Префиксы (необязательно)

В случае необходимости ссылки на файлы в одном из расположений с дополнительным именным пространством, вы можете необязательно указать префикс как (prefix, path) кортежи, например:

STATICFILES_DIRS = [
    # ...
    ("downloads", "/opt/webfiles/stats"),
]

Например, предположим, что STATIC_URL установлено в 'static/', команда управления collectstatic соберёт файлы "stats" в подкаталоге 'downloads' каталога STATIC_ROOT.

Это позволит вам сослаться на локальный файл '/opt/webfiles/stats/polls_20101022.tar.gz' с помощью '/static/downloads/polls_20101022.tar.gz' в ваших шаблонах, например:

<a href="{% static 'downloads/polls_20101022.tar.gz' %}">

STATICFILES_FINDERS

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

[
    "django.contrib.staticfiles.finders.FileSystemFinder",
    "django.contrib.staticfiles.finders.AppDirectoriesFinder",
]

Список бэкендов поиска, которые знают, как найти статические файлы в различных местах.

По умолчанию поиск файлов, хранящихся в настройке STATICFILES_DIRS (используя django.contrib.staticfiles.finders.FileSystemFinder) и в подкаталоге static каждого приложения (используя django.contrib.staticfiles.finders.AppDirectoriesFinder). Если несколько файлов с одинаковым именем присутствуют, будет использован первый найденный файл.

Один поиск отключен по умолчанию: django.contrib.staticfiles.finders.DefaultStorageFinder. Если добавить его в вашу настройку STATICFILES_FINDERS, он будет искать статические файлы в хранилище файлов по умолчанию, как определено ключом default в настройке STORAGES.

Примечание

При использовании поиска AppDirectoriesFinder убедитесь, что ваши приложения могут быть найдены staticfiles, добавив приложение в настройку INSTALLED_APPS вашего сайта.

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

Индекс настроек ядра

Кэш

  • CACHES
  • CACHE_MIDDLEWARE_ALIAS
  • CACHE_MIDDLEWARE_KEY_PREFIX
  • CACHE_MIDDLEWARE_SECONDS

База данных

  • DATABASES
  • DATABASE_ROUTERS
  • DEFAULT_INDEX_TABLESPACE
  • DEFAULT_TABLESPACE

Отладка

  • DEBUG
  • DEBUG_PROPAGATE_EXCEPTIONS

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

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

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

  • DEFAULT_EXCEPTION_REPORTER
  • DEFAULT_EXCEPTION_REPORTER_FILTER
  • IGNORABLE_404_URLS
  • MANAGERS
  • SILENCED_SYSTEM_CHECKS

Загрузка файлов

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

Формы

  • FORM_RENDERER
  • FORMS_URLFIELD_ASSUME_HTTPS

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

Интернационализация (i18n)

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

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

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

HTTP

  • DATA_UPLOAD_MAX_MEMORY_SIZE
  • DATA_UPLOAD_MAX_NUMBER_FIELDS
  • DATA_UPLOAD_MAX_NUMBER_FILES
  • DEFAULT_CHARSET
  • DISALLOWED_USER_AGENTS
  • FORCE_SCRIPT_NAME
  • INTERNAL_IPS
  • MIDDLEWARE
  • Безопасность

    • SECURE_CONTENT_TYPE_NOSNIFF
    • SECURE_CROSS_ORIGIN_OPENER_POLICY
    • SECURE_HSTS_INCLUDE_SUBDOMAINS
    • SECURE_HSTS_PRELOAD
    • SECURE_HSTS_SECONDS
    • SECURE_PROXY_SSL_HEADER
    • SECURE_REDIRECT_EXEMPT
    • SECURE_REFERRER_POLICY
    • SECURE_SSL_HOST
    • SECURE_SSL_REDIRECT
  • SIGNING_BACKEND
  • USE_X_FORWARDED_HOST
  • USE_X_FORWARDED_PORT
  • WSGI_APPLICATION

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

  • LOGGING
  • LOGGING_CONFIG

Модели

  • ABSOLUTE_URL_OVERRIDES
  • FIXTURE_DIRS
  • INSTALLED_APPS

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

  • Защита от межсайтовых поддельных запросов

    • CSRF_COOKIE_DOMAIN
    • CSRF_COOKIE_NAME
    • CSRF_COOKIE_PATH
    • CSRF_COOKIE_SAMESITE
    • CSRF_COOKIE_SECURE
    • CSRF_FAILURE_VIEW
    • CSRF_HEADER_NAME
    • CSRF_TRUSTED_ORIGINS
    • CSRF_USE_SESSIONS
  • SECRET_KEY
  • SECRET_KEY_FALLBACKS
  • X_FRAME_OPTIONS

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

  • DEFAULT_CHARSET
  • SERIALIZATION_MODULES

Шаблоны

  • TEMPLATES

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

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

URL

  • APPEND_SLASH
  • PREPEND_WWW
  • ROOT_URLCONF

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

Spec-Zone.ru

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