Настройки

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

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

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

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

ABSOLUTE_URL_OVERRIDES

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

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

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

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

ADMINS

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

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

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

[('John', '[email protected]'), ('Mary', '[email protected]')]

ALLOWED_HOSTS

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

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

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

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

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

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

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

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

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

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

APPEND_SLASH

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

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

Параметр APPEND_SLASH используется, только если CommonMiddleware он установлен (см. ПО промежуточного слоя ). См. Также PREPEND_WWW .

CACHES

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

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

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

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

BACKEND

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

Используемый механизм кеширования. Механизмы кеширования, встроенные в Django:

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

Вы можете использовать механизм кеширования, отличный от Django, задав BACKEND полный путь к классу механизма кеширования (например monpaquet.moteurs.quelquechose.MonCache ).

KEY_FUNCTION

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

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

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

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

KEY_PREFIX

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

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

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

LOCATION

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

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

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

OPTIONS

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

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

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

TIMEOUT

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

Количество секунд до того, как запись в кэше считается устаревшей. Если значение этого параметра равно None , содержимое кеша никогда не истечет.

VERSION

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

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

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

CACHE_MIDDLEWARE_ALIAS

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

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

CACHE_MIDDLEWARE_KEY_PREFIX

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

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

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

CACHE_MIDDLEWARE_SECONDS

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

Количество секунд, которое является временем по умолчанию для кэширования страницы для промежуточного программного обеспечения кеширования .

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

CSRF_USE_SESSIONS

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

Указывает, следует ли хранить токен CSRF в сеансе пользователя, а не в файле cookie. Для этого требуется наличие django.contrib.sessions .

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

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

CSRF_FAILURE_VIEW

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

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

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

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

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

CSRF_HEADER_NAME

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

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

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

CSRF_TRUSTED_ORIGINS

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

Список хостов, которые являются надежными источниками для небезопасных запросов (например POST ). Для sécurisée небезопасного запроса защита CSRF Django требует, чтобы запрос имел заголовок, Referer соответствующий источнику, присутствующему в заголовке Host . Это предотвращает, например, то, что запрос POST от sousdomaine.exemple.com может быть успешным api.exemple.com . Продолжая этот пример, если вам нужно иметь возможность выполнять небезопасные перекрестные запросы между доменами и через HTTPS, добавьте "sousdomaine.exemple.com" в этот список. Этот параметр также принимает поддомены, поэтому, например ".exemple.com" , также будет действителен для разрешения доступа со всех поддоменов домена exemple.com .

DATABASES

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

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

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

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

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

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

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

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

ATOMIC_REQUESTS

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

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

AUTOCOMMIT

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

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

ENGINE

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

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

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

Вы можете использовать ядро ​​базы данных, которое не поставляется с Django, задав ENGINE для него полный путь к классу ядра базы данных (например monpaquet.moteurs.quelquechose ).

HOST

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

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

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

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

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

Если вы используете PostgreSQL, по умолчанию ( HOST пусто) соединение с базой данных осуществляется через соединители Unix («локальные» строки в pg_hba.conf ). Если ваш коннектор домена UNIX не находится в стандартном месте, используйте то же значение, unix_socket_directory что и postgresql.conf . Если вы предпочитаете подключаться через TCP-коннекторы, установите HOST «localhost» или «127.0.0.1» (строчки «host» в pg_hba.conf ). В Windows вам все равно нужно установить HOST , поскольку соединители домена Unix недоступны.

NAME

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

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

CONN_MAX_AGE

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

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

OPTIONS

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

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

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

PASSWORD

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

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

PORT

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

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

TIME_ZONE

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

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

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

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

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

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

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

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

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

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

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

DISABLE_SERVER_SIDE_CURSORS

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

Установите для этого параметра значение, True если хотите отключить использование серверных курсоров с QuerySet.iterator() . Массовые транзакции и курсоры на стороне сервера объясняют вариант использования.

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

USER

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

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

TEST

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

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

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

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

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

CHARSET

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

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

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

COLLATION

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

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

Поддерживается только для движка mysql (подробности см. В руководстве по MySQL ).

DEPENDENCIES

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

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

MIGRATE
Новое в Django 3.1.

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

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

MIRROR

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

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

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

NAME

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

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

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

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

SERIALIZE

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

TEMPLATE

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

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

CREATE_DB

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

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

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

CREATE_USER

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

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

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

USER

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

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

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

PASSWORD

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

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

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

ORACLE_MANAGED_FILES

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

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

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

TBLSPACE

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

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

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

TBLSPACE_TMP

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

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

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

DATAFILE

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

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

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

DATAFILE_TMP

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

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

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

DATAFILE_MAXSIZE

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

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

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

DATAFILE_TMP_MAXSIZE

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

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

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

DATAFILE_SIZE

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

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

Начальный размер ФАЙЛА ДАННЫХ.

DATAFILE_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 , формат на основе локали имеет более высокий приоритет и переопределит этот формат. Посмотри на них .chaînes de format de date autorisées

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

DATE_INPUT_FORMATS

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

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

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

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

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

DATETIME_FORMAT

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

Формат по умолчанию для отображения полей даты / времени в разных частях системы. Обратите внимание, что если USE_L10N установлено значение True , формат на основе локали имеет более высокий приоритет и переопределит этот формат. Посмотри на них .chaînes de format de date autorisées

См. Также 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'
]

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

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

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

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

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

DEBUG

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

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

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

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

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

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

Обратите внимание, что это частичные совпадения . 'PASS' также будет перехватывать ПАРОЛЬ, вроде будет 'TOKEN' перехватывать ТОКЕНИЗИРОВАННЫЙ и так далее.

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

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

Наконец, если DEBUG стоит False , вы также должны правильно установить настройку ALLOWED_HOSTS . Без этого все запросы будут возвращать ошибку «Плохой запрос (400)».

Заметка

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

DEBUG_PROPAGATE_EXCEPTIONS

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

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

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

DECIMAL_SEPARATOR

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

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

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

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

DEFAULT_CHARSET

Значение по умолчанию : 'utf-8'

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

DEFAULT_EXCEPTION_REPORTER

Новое в Django 3.1.

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

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

DEFAULT_EXCEPTION_REPORTER_FILTER

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

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

DEFAULT_FILE_STORAGE

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

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

DEFAULT_FROM_EMAIL

Значение по умолчанию : '[email protected]'

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

DEFAULT_HASHING_ALGORITHM

Новое в Django 3.1.

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

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

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

DEFAULT_INDEX_TABLESPACE

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

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

DEFAULT_TABLESPACE

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

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

DISALLOWED_USER_AGENTS

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

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

EMAIL_BACKEND

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

Движок для отправки электронных писем. См. « Отправка сообщений электронной почты» для получения списка доступных движков.

EMAIL_FILE_PATH

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

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

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

pathlib.Path Добавлена поддержка путей типов .

EMAIL_HOST

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

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

См. Также EMAIL_PORT .

EMAIL_HOST_PASSWORD

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

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

См. Также EMAIL_HOST_USER .

EMAIL_HOST_USER

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

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

См. Также EMAIL_HOST_PASSWORD .

EMAIL_PORT

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

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

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 а файлы, сохраненные из памяти, сохраняются с системной стандартной маской «umask».

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

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

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

Всегда предшествуйте режиму на единицу 0o .

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

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

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

FILE_UPLOAD_TEMP_DIR

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

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

Для получения более подробной информации см. Управление файлами .

FIRST_DAY_OF_WEEK

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

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

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

FIXTURE_DIRS

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

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

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

См. Раздел « Добавление данных с помощью снимков» и « Загрузка снимков» .

FORCE_SCRIPT_NAME

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

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

FORM_RENDERER

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

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

FORMAT_MODULE_PATH

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

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

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

IGNORABLE_404_URLS

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

Список скомпилированных объектов регулярных выражений, описывающих URL-адреса, которые следует игнорировать при отправке сообщений об ошибках HTTP 404 по электронной почте (см. Отчет об ошибках ). Сопоставляются регулярные выражения (включая строку запроса, если применимо). Это полезно, если ваш сайт не предоставляет некоторые часто запрашиваемые файлы, такие как или .chemins complets des requêtes favicon.ico robots.txt

Используется, только если BrokenLinkEmailsMiddleware он включен (см. «Промежуточное ПО» ).

INSTALLED_APPS

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

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

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

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

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

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

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

noms Приложение, путь указал на пакет Python приложения должно быть уникальным. Невозможно включить одно и то же приложение дважды, кроме как путем дублирования его кода под другим именем.

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

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

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

INTERNAL_IPS

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

Список IP-адресов в виде строк, включая запросы:

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

LANGUAGE_CODE

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

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

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

Этот параметр служит двум целям:

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

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

LANGUAGES

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

Список формируется из двоичных списков в формате ( код языка , nom_de_langue ), например . Этот список определяет языки, доступные при выборе языка. См. Интернационализация и регионализация .('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 ищет по каждому из этих путей каталоги, которые <code_locale>/LC_MESSAGES сами содержат файлы перевода.

LOGGING

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

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

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

Вы можете увидеть , протоколирование по умолчанию, глядя в Джанго / Utils / log.py .

LOGGING_CONFIG

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

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

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

MANAGERS

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

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

MEDIA_ROOT

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

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

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

См. Также MEDIA_URL .

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

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

MEDIA_URL

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

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

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

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

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

Если вы принимаете загруженный контент от ненадежных пользователей, это создает угрозу безопасности. Подробную информацию о мерах по снижению риска см. В разделе « Пользовательский контент» Руководства по безопасности.

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

MEDIA_URL и STATIC_URL должны иметь разные значения. Подробнее MEDIA_ROOT см.

Заметка

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

MIDDLEWARE

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

Список используемого промежуточного программного обеспечения. См. Промежуточное ПО .

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

Например, когда страница списка редактирования администратора Django фильтруется по выбранной дате, в заголовке для данного дня отображаются день и месяц. У разных языков разные форматы. Например, на американском английском будет отображаться «1 января», а на испанском - «1 Enero. ».

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

Смотрите . Смотрите также , , и .chaînes de format de date autorisées 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

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

Например, строка, представляющая полный путь импорта Python к корневому URLconf "mesapplisdjango.urls" . Его можно перегружать для каждого запроса, задав атрибут входящего urlconf объекта HttpRequest . Подробнее см . Процесс обработки запросов Django .

SECRET_KEY

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

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

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

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

Django отказывается запускаться, если SECRET_KEY не определен.

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

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

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

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

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

Заметка

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

SECURE_BROWSER_XSS_FILTER

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

Если True промежуточное ПО SecurityMiddleware устанавливает заголовок X-XSS-Protection: 1; mode = block для всех ответов, в которых его еще нет.

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

SECURE_CONTENT_TYPE_NOSNIFF

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

Таким образом True , промежуточное ПО SecurityMiddleware устанавливает заголовок X-Content-Type-Options: nosniff для всех ответов, в которых его еще нет.

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

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

SECURE_HSTS_INCLUDE_SUBDOMAINS

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

Если True промежуточное ПО SecurityMiddleware добавляет директиву includeSubDomains в заголовок Strict HTTP Transport Security (HSTS) . Он не действует до тех пор, пока SECURE_HSTS_SECONDS не будет содержать ненулевое значение.

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

Неправильная установка этого параметра может безвозвратно (на время SECURE_HSTS_SECONDS ) сломать ваш сайт . Сначала прочтите документацию по строгой безопасности транспорта HTTP (HSTS) .

SECURE_HSTS_PRELOAD

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

Если True промежуточное ПО SecurityMiddleware добавляет директиву preload в заголовок Strict HTTP Transport Security (HSTS) . Он не действует до тех пор, пока SECURE_HSTS_SECONDS не будет содержать ненулевое значение.

SECURE_HSTS_SECONDS

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

Если установлено целое число, отличное от 0, промежуточное ПО SecurityMiddleware устанавливает заголовок Strict HTTP Transport Security (HSTS) для всех ответов, которые его еще не содержат.

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

Неправильная установка этого параметра может необратимо (на время) сломать ваш сайт. Сначала прочтите документацию по строгой безопасности транспорта HTTP (HSTS) .

SECURE_PROXY_SSL_HEADER

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

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

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

Если ваше приложение Django находится за прокси-сервером, оно может скрыть тот факт, что запрос находится в HTTPS. Если между прокси-сервером и Django установлено не-HTTPS-соединение, оно is_secure() всегда возвращается False , даже для запросов, которые были инициированы по HTTPS конечным пользователем. Напротив, если между прокси-сервером и Django установлено HTTPS-соединение, оно is_secure() всегда возвращается True , даже для запросов, которые изначально были инициированы в HTTP.

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

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

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

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

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

Обратите внимание, что имя заголовка должно быть в формате, используемом request.META всеми заглавными буквами и, вероятно, начинаться с HTTP_ (помните, что Django автоматически добавляет 'HTTP_' имена заголовков X в начало, прежде чем сделать их доступными в request.META ) ,

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

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

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

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

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

SECURE_REDIRECT_EXEMPT

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

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

SECURE_REFERRER_POLICY

Новое в Django 3.0.

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

Если настроено, промежуточное ПО SecurityMiddleware устанавливает заголовок политики перехода для всех ответов, которые еще не содержат его с указанным значением.

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

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

SECURE_SSL_HOST

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

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

SECURE_SSL_REDIRECT

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

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

Заметка

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

SERIALIZATION_MODULES

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

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

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

SERVER_EMAIL

Значение по умолчанию : '[email protected]'

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

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

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

SHORT_DATE_FORMAT

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

Доступный формат для отображения полей даты в шаблонах. Обратите внимание, что если USE_L10N установлено значение True , формат на основе локали имеет более высокий приоритет и переопределит этот формат. Посмотри на них .chaînes de format de date autorisées

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

SHORT_DATETIME_FORMAT

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

Доступный формат для отображения полей даты / времени в шаблонах. Обратите внимание, что если USE_L10N установлено значение True , формат на основе локали имеет более высокий приоритет и переопределит этот формат. Посмотри на них .chaînes de format de date autorisées

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

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

Используемый джиг-двигатель. В Django встроены следующие механизмы шаблонов:

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

Вы можете использовать механизм шаблонов, который не поставляется с Django, задав BACKEND полный путь (например, monpaquet.moteurs.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'` (ex . : ``4 p.m.

Формат по умолчанию для отображения полей часов в разных частях системы. Обратите внимание, что если USE_L10N установлено значение True , формат на основе локали имеет более высокий приоритет и переопределит этот формат. Посмотри на них .chaînes de format de date autorisées

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

TIME_INPUT_FORMATS

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

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

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

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

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

TIME_ZONE

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

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

Заметка

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

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

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

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

Заметка

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

USE_I18N

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

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

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

Заметка

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

USE_L10N

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

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

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

Заметка

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

USE_THOUSAND_SEPARATOR

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

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

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

USE_TZ

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

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

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

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

WSGI_APPLICATION

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

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

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

YEAR_MONTH_FORMAT

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

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

Например, когда страница списка редактирования администратора Django фильтруется по выбранной дате, в заголовке для данного месяца отображаются месяц и год. У разных языков разные форматы. Например, для американского английского будет отображаться «Январь 2006», а для другого языкового стандарта - «2006 / Январь. ».

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

Смотрите . Смотрите также , , и .chaînes de format de date autorisées DATE_FORMAT DATETIME_FORMAT TIME_FORMAT MONTH_DAY_FORMAT

X_FRAME_OPTIONS

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

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

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

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

Auth

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

AUTHENTICATION_BACKENDS

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

Список классов механизма аутентификации (в виде строк) для использования при попытке аутентификации пользователя. Дополнительную информацию см. В документации по механизмам аутентификации .

AUTH_USER_MODEL

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

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

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

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

LOGIN_REDIRECT_URL

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

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

LOGIN_URL

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

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

LOGOUT_REDIRECT_URL

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

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

При None перенаправлении не выполняется и logout создается представление отключения .

PASSWORD_RESET_TIMEOUT

Новое в Django 3.1.

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

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

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

Заметка

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

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

PASSWORD_RESET_TIMEOUT_DAYS

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

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

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

Не рекомендуется с версии 3.1: Этот параметр устарел. PASSWORD_RESET_TIMEOUT Вместо этого используйте .

PASSWORD_HASHERS

См. Хранилище паролей в Django .

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

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

AUTH_PASSWORD_VALIDATORS

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

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

Сообщения

Настройки для 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.contrib.messages.storage.fallback.FallbackStorage'
  • 'django.contrib.messages.storage.session.SessionStorage'
  • 'django.contrib.messages.storage.cookie.CookieStorage'

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

Двигатели , которые используют куки - CookieStorage и FallbackStorage - использовать значение SESSION_COOKIE_DOMAIN , SESSION_COOKIE_SECURE и SESSION_COOKIE_HTTPONLY при установке их печенья.

MESSAGE_TAGS

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

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

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

Важный

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

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

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

Сессии

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

SESSION_CACHE_ALIAS

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

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

SESSION_ENGINE

Значение по умолчанию : 'django.contrib.sessions.backends.db'

Управляет местом хранения данных сеанса. Включенные двигатели:

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

SESSION_SERIALIZER

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

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

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

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

Сайты

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

SITE_ID

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

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

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

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

STATIC_ROOT

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

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

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

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

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

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

STATIC_URL

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

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

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

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

При определении это значение должно заканчиваться косой чертой.

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

Заметка

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

STATICFILES_DIRS

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

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

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

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

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

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

Если вы хотите сослаться на файлы одного из расположений с дополнительным пространством имен, можно указать префикс в виде кортежей , например:(préfixe, chemin)

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

Например, предположим , STATIC_URL установлен в /static/ , то управление команда будет collectstatic собирать «статистику» файлы в подкаталог '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 сайта.

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

Тематический указатель базовых настроек

Формы

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

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

Шаблоны

Тесты

Copyright ©2021 All rights reserved