Spec-Zone.ru › Django 4.1

Настройки

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

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

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

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

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

ABSOLUTE_URL_OVERRIDES

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

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

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

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

ADMINS

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

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

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

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

ALLOWED_HOSTS

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

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

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

Django также допускает полное доменное имя (FQDN) любых записей. Некоторые браузеры включают конечную точку в заголовке Host header, которую 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 (см. Миддлвары). См. также 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).

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

Добавлен бекенд RedisCache.

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'

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

CACHE_MIDDLEWARE_KEY_PREFIX

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

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

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

CACHE_MIDDLEWARE_SECONDS

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

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

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

CSRF_COOKIE_AGE

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

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

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

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

CSRF_COOKIE_DOMAIN

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

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

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

CSRF_COOKIE_HTTPONLY

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

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

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

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

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

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

CSRF_COOKIE_MASKED

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

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

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

Устаревшее начиная с версии 4.1: Эта переходная настройка устарела и будет удалена в Django 5.0.

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'

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

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

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

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

CSRF_HEADER_NAME

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

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

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

CSRF_TRUSTED_ORIGINS

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

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

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

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

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

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

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

Значения в более ранних версиях должны были содержать только имя хоста (возможно, с ведущей точкой) и не содержать схемы или звёздочки.

Также, проверка заголовка Origin в более ранних версиях не выполнялась.

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

Новое в Django 4.1.

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

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

OPTIONS

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

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

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

PASSWORD

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

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

PORT

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

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

TIME_ZONE

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

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

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

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

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

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

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

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

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

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

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

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

END_OF_DOCUMENT_MARKER
NAME

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

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

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

См. Базу данных тестов.

SERIALIZE

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

Устарело начиная с версии 4.0: Это значение устарело, поскольку его можно вывести из databases с включённым параметром serialized_rollback.

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

DATABASE_ROUTERS

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

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

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

DATE_FORMAT

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

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

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

DATE_INPUT_FORMATS

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

[
    '%Y-%m-%d',  # '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 шаблона.

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

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

DATETIME_FORMAT

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

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

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

DATETIME_INPUT_FORMATS

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

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

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

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

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

DEBUG

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

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

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

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

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

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

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

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

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

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

Примечание

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

DEBUG_PROPAGATE_EXCEPTIONS

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

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

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

DECIMAL_SEPARATOR

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

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

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

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

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

Возможно, в будущем будет реализована возможность автоматической миграции первичного ключа существующих автоматически созданных таблиц через https://code.djangoproject.com/ticket/32674.

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_FILE_STORAGE

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

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

DEFAULT_FROM_EMAIL

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

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

DEFAULT_INDEX_TABLESPACE

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

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

DEFAULT_TABLESPACE

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

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

DISALLOWED_USER_AGENTS

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

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

EMAIL_BACKEND

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

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

EMAIL_FILE_PATH

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

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

EMAIL_HOST

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

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

См. также EMAIL_PORT.

EMAIL_HOST_PASSWORD

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

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

См. также EMAIL_HOST_USER.

EMAIL_HOST_USER

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

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

См. также EMAIL_HOST_PASSWORD.

EMAIL_PORT

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

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

EMAIL_SUBJECT_PREFIX

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

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

EMAIL_USE_LOCALTIME

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

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

EMAIL_USE_TLS

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

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

EMAIL_USE_SSL

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

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

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

EMAIL_SSL_CERTFILE

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

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

EMAIL_SSL_KEYFILE

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

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

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

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

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

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

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

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

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

FILE_UPLOAD_TEMP_DIR

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

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

Подробную информацию см. в Управление файлами.

FIRST_DAY_OF_WEEK

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

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

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

FIXTURE_DIRS

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

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

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

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

FORCE_SCRIPT_NAME

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

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

FORM_RENDERER

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

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

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

FORMAT_MODULE_PATH

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

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

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

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

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

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

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

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

  • DATE_FORMAT
  • DATE_INPUT_FORMATS
  • DATETIME_FORMAT,
  • DATETIME_INPUT_FORMATS
  • DECIMAL_SEPARATOR
  • FIRST_DAY_OF_WEEK
  • MONTH_DAY_FORMAT
  • NUMBER_GROUPING
  • SHORT_DATE_FORMAT
  • SHORT_DATETIME_FORMAT
  • THOUSAND_SEPARATOR
  • TIME_FORMAT
  • TIME_INPUT_FORMATS
  • YEAR_MONTH_FORMAT

IGNORABLE_404_URLS

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

Список скомпилированных объектов регулярных выражений, описывающих URL-адреса, которые должны быть проигнорированы при сообщении об ошибках HTTP 404 по электронной почте (см. Как управлять обработкой ошибок). Регулярные выражения сопоставляются с request's full paths (включая строку запроса, если таковая имеется). Используйте это, если ваш сайт не предоставляет часто запрашиваемый файл, например favicon.ico или robots.txt.

Это используется только в том случае, если BrokenLinkEmailsMiddleware включено (см. Средства промежуточного ПО).

INSTALLED_APPS

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

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

  • классу конфигурации приложения (предпочтительно), или
  • пакету, содержащему приложение.

Узнайте больше о конфигурациях приложений.

Используйте реестр приложений для интроспекции

Ваш код никогда не должен напрямую обращаться к INSTALLED_APPS. Используйте django.apps.apps вместо этого.

Имена и метки приложений должны быть уникальными в INSTALLED_APPS

Имя приложения names — полный путь Python к пакету приложения — должно быть уникальным. Нет способа включить одно и то же приложение дважды, кроме дублирования его кода под другим именем.

Имя приложения labels — по умолчанию последняя часть имени — также должно быть уникальным. Например, вы не можете включить оба django.contrib.auth и myproject.auth. Однако вы можете переименовать приложение с помощью пользовательской конфигурации, которая определяет другое label.

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

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

INTERNAL_IPS

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

Список IP-адресов, как строки, которые:

  • Разрешают контекстному процессору debug() добавлять некоторые переменные в контекст шаблона.
  • Позволяют использовать закладки админ-документации, даже если не вошли в систему как пользователь с правами администратора.
  • Отмечаются как «внутренние» (в отличие от «ВНЕШНИЕ») в письмах по электронной почте AdminEmailHandler.

LANGUAGE_CODE

По умолчанию: 'en-us'

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

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

Он выполняет две задачи:

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

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

LANGUAGE_COOKIE_AGE

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

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

LANGUAGE_COOKIE_DOMAIN

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

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

END_OF_DOCUMENT_MARKER

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

LANGUAGE_COOKIE_HTTPONLY

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

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

Подробности о HttpOnly см. в SESSION_COOKIE_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.

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

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

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

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

from django.utils.translation import gettext_lazy as _

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

LANGUAGES_BIDI

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

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

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

LOCALE_PATHS

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

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

Пример:

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

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

LOGGING

По умолчанию: словарь конфигурации ведения журнала.

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

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

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

LOGGING_CONFIG

По умолчанию: 'logging.config.dictConfig'

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

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

MANAGERS

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

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

MEDIA_ROOT

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

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

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

См. также MEDIA_URL.

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

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

MEDIA_URL

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

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

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

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

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

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

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

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

END_OF_DOCUMENT_MARKER

Примечание

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

MIDDLEWARE

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

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

MIGRATION_MODULES

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

Словарь, определяющий пакет, где можно найти модули миграции для каждого приложения. Значение по умолчанию этого параметра — пустой словарь, но имя пакета по умолчанию для модулей миграции — migrations.

Пример:

{'blog': 'blog.db_migrations'}

В этом случае миграции, относящиеся к приложению blog, будут содержаться в пакете blog.db_migrations.

Если вы предоставите аргумент app_label, makemigrations автоматически создаст пакет, если он еще не существует.

Когда вы зададите None в качестве значения для приложения, Django будет рассматривать приложение как приложение без миграций независимо от наличия подмодуля migrations. Это можно использовать, например, в файле настроек тестов, чтобы пропустить миграции во время тестирования (таблицы все равно будут созданы для моделей приложений). Чтобы отключить миграции для всех приложений во время тестов, вы можете установить MIGRATE на False вместо этого. Если MIGRATION_MODULES используется в общих настройках проекта, помните, что необходимо использовать опцию migrate --run-syncdb, если вы хотите создать таблицы для приложения.

MONTH_DAY_FORMAT

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

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

Например, когда страница изменения списка Django admin фильтруется по дате, заголовок для определенного дня отображает день и месяц. Разные языковые локали имеют разные форматы. Например, в американском английском это будет «Январь 1», а в испанском — «1 Января».

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

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

NUMBER_GROUPING

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

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

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

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

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

NUMBER_GROUPING = (3, 2, 0)

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

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

PREPEND_WWW

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

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

ROOT_URLCONF

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

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

SECRET_KEY

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

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

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

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

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

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

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

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

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

  • Всех сессий, если вы используете другой бэкэнд сессий, чем 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 4.1.

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

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

Новое в Django 4.0.

По умолчанию: '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 существует незащищённое соединение, is_secure() всегда вернёт False, даже для запросов, выполненных конечным пользователем через HTTPS. В противоположность этому, если между прокси-сервером и Django существует защищённое соединение, 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').
Изменено в Django 4.1:

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

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

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

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

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

SHORT_DATE_FORMAT

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

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

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

SHORT_DATETIME_FORMAT

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

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

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

SIGNING_BACKEND

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

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

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

SILENCED_SYSTEM_CHECKS

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

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

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

TEMPLATES

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

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

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

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

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

BACKEND

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

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

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

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

NAME

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

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

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

DIRS

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

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

APP_DIRS

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

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

Примечание

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

OPTIONS

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

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

TEST_RUNNER

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

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

TEST_NON_SERIALIZED_APPS

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

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

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

THOUSAND_SEPARATOR

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

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

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

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

TIME_FORMAT

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

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

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

TIME_INPUT_FORMATS

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

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

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

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

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

TIME_ZONE

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

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

Примечание

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

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

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

END_OF_DOCUMENT_MARKER

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

Примечание

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

USE_DEPRECATED_PYTZ

Новое в Django 4.0.

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

Логическое значение, определяющее, использовать ли pytz, а не zoneinfo, в качестве реализации временной зоны по умолчанию.

Устарело начиная с версии 4.0: Эта переходная настройка устарела. Поддержка использования pytz будет удалена в Django 5.0.

USE_I18N

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

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

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

Примечание

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

USE_L10N

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

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

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

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

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

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

USE_THOUSAND_SEPARATOR

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

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

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

USE_TZ

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

Примечание

В Django 5.0 значение по умолчанию изменится с False на True.

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

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

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

Примечание

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

USE_X_FORWARDED_HOST

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

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

Эта настройка имеет приоритет над USE_X_FORWARDED_PORT. Согласно RFC 7239#section-5.3, заголовок X-Forwarded-Host может содержать номер порта, в таком случае вы не должны использовать USE_X_FORWARDED_PORT.

USE_X_FORWARDED_PORT

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

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

USE_X_FORWARDED_HOST имеет приоритет над этой настройкой.

WSGI_APPLICATION

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

Полный путь к объекту WSGI-приложения Python, который будут использовать встроенные серверы Django (например, runserver). Команда управления django-admin startproject создаст стандартный файл wsgi.py с вызываемым объектом application и установит эту настройку на этот application.

Если не задано, будет использоваться значение django.core.wsgi.get_wsgi_application(). В этом случае поведение команды runserver будет идентично предыдущим версиям Django.

YEAR_MONTH_FORMAT

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

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

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

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

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

X_FRAME_OPTIONS

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

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

Auth

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

AUTHENTICATION_BACKENDS

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

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

AUTH_USER_MODEL

Значение по умолчанию: 'auth.User'

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

``` END_OF_DOCUMENT_MARKER

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

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

LOGIN_REDIRECT_URL

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

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

LOGIN_URL

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

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

LOGOUT_REDIRECT_URL

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

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

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

PASSWORD_RESET_TIMEOUT

Значение по умолчанию: 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',
]

AUTH_PASSWORD_VALIDATORS

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

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

Сообщения

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

MESSAGE_LEVEL

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

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

Важно

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

from django.contrib.messages import constants as message_constants
MESSAGE_LEVEL = message_constants.DEBUG

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

MESSAGE_STORAGE

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

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

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

Подробнее см. хранилища данных о сообщениях.

Хранилища, использующие файлы cookie — CookieStorage и FallbackStorage — используют значение SESSION_COOKIE_DOMAIN, SESSION_COOKIE_SECURE и SESSION_COOKIE_HTTPONLY при установке файлов cookie.

MESSAGE_TAGS

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

{
    messages.DEBUG: 'debug',
    messages.INFO: 'info',
    messages.SUCCESS: 'success',
    messages.WARNING: 'warning',
    messages.ERROR: 'error',
}

Это устанавливает отображение уровня сообщения на тег сообщения, который обычно отображается как класс CSS в HTML. Если вы укажете значение, оно будет расширять значение по умолчанию. Это означает, что вам нужно указывать только те значения, которые требуется переопределить. Подробнее см. Отображение сообщений.

Важно

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

from django.contrib.messages import constants as message_constants
MESSAGE_TAGS = {message_constants.INFO: ''}

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

Сессии

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

SESSION_CACHE_ALIAS

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

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

SESSION_COOKIE_AGE

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

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

SESSION_COOKIE_DOMAIN

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

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

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

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

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

SESSION_COOKIE_HTTPONLY

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

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

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

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

SESSION_COOKIE_NAME

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

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

SESSION_COOKIE_PATH

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

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

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

SESSION_COOKIE_SAMESITE

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

Значение флага SameSite для куки сессии. Этот флаг предотвращает отправку куки при межсайтовых запросах, тем самым предотвращая атаки 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’s finders, которые по умолчанию являются подкаталогами приложения 'static/' и любые каталоги, которые вы включите в STATICFILES_DIRS.

STATIC_URL

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

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

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

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

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

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

Примечание

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

STATICFILES_DIRS

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

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

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

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

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

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

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

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

Пример см. в Обеспечение статических файлов с облачного сервиса или CDN.

STATICFILES_FINDERS

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

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

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

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

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

Примечание

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

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

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

Кэш

  • CACHES
  • CACHE_MIDDLEWARE_ALIAS
  • CACHE_MIDDLEWARE_KEY_PREFIX
  • CACHE_MIDDLEWARE_SECONDS

База данных

  • DATABASES
  • DATABASE_ROUTERS
  • DEFAULT_INDEX_TABLESPACE
  • DEFAULT_TABLESPACE

Отладка

  • DEBUG
  • DEBUG_PROPAGATE_EXCEPTIONS

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

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

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

  • DEFAULT_EXCEPTION_REPORTER
  • DEFAULT_EXCEPTION_REPORTER_FILTER
  • IGNORABLE_404_URLS
  • MANAGERS
  • SILENCED_SYSTEM_CHECKS

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

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

Формы

  • FORM_RENDERER

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

  • DATE_FORMAT
  • DATE_INPUT_FORMATS
  • DATETIME_FORMAT
  • DATETIME_INPUT_FORMATS
  • DECIMAL_SEPARATOR
  • FIRST_DAY_OF_WEEK
  • FORMAT_MODULE_PATH
  • LANGUAGE_CODE
  • LANGUAGE_COOKIE_AGE
  • LANGUAGE_COOKIE_DOMAIN
  • LANGUAGE_COOKIE_HTTPONLY
  • LANGUAGE_COOKIE_NAME
  • LANGUAGE_COOKIE_PATH
  • LANGUAGE_COOKIE_SAMESITE
  • LANGUAGE_COOKIE_SECURE
  • LANGUAGES
  • LANGUAGES_BIDI
  • LOCALE_PATHS
  • MONTH_DAY_FORMAT
  • NUMBER_GROUPING
  • SHORT_DATE_FORMAT
  • SHORT_DATETIME_FORMAT
  • THOUSAND_SEPARATOR
  • TIME_FORMAT
  • TIME_INPUT_FORMATS
  • TIME_ZONE
  • USE_I18N
  • USE_L10N
  • USE_THOUSAND_SEPARATOR
  • USE_TZ
  • YEAR_MONTH_FORMAT

HTTP

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

Spec-Zone.ru

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