Настройки ¶
Предупреждение
Будьте осторожны при переопределении настроек, особенно если значением по умолчанию является непустой список или словарь, например STATICFILES_FINDERS
. Убедитесь, что вы сохранили компоненты, необходимые для функций Django, которые вы хотите использовать.
Основные настройки ¶
Вот список настроек, доступных в ядре Django, и их значения по умолчанию. Настройки, предоставляемые приложениями contrib, перечислены ниже, за ними следует тематический указатель основных настроек. Вводный материал см. В руководстве по настройкам .
ABSOLUTE_URL_OVERRIDES
¶
По умолчанию: {}
(Пустой словарь)
"app_label.model_name"
Строки сопоставления словаря с функциями, которые принимают объект модели и возвращают его URL-адрес. Это способ вставки или отмены
get_absolute_url()
методов для каждой установки. Пример:
ABSOLUTE_URL_OVERRIDES = {
'blogs.weblog': lambda o: "/blogs/%s/" % o.slug,
'news.story': lambda o: "/stories/%s/%s/" % (o.pub_year, o.slug),
}
Имя модели, используемое в этом параметре, должно быть полностью в нижнем регистре, независимо от регистра фактического имени класса модели.
ADMINS
¶
По умолчанию: []
(Пустой список)
Список всех людей, которые получают уведомления об ошибках кода. Когда
DEBUG=False
и AdminEmailHandler
настроено LOGGING
(выполняется по умолчанию), Django отправляет этим людям по электронной почте подробную информацию об исключениях, возникающих в цикле запрос / ответ.
Каждый элемент в списке должен быть кортежем (полное имя, адрес электронной почты). Пример:
[('John', '[email protected]'), ('Mary', '[email protected]')]
ALLOWED_HOSTS
¶
По умолчанию: []
(Пустой список)
Список строк, представляющих имена хоста / домена, которые может обслуживать этот сайт Django. Это мера безопасности для предотвращения атак на заголовок HTTP Host , которые возможны даже при многих, казалось бы, безопасных конфигурациях веб-серверов.
Значения в этом списке могут быть полностью определенными именами (например '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
вас, вы обходите эту защиту.
Если ALLOWED_HOSTS
пусто и DEBUG=True
, разрешены поддомены localhost.
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, задав
BACKEND
полный путь к бэкэнд-классу кеша (т.е. mypackage.backends.whatever.WhateverCache
).
PyMemcacheCache
Бэкенд был добавлен.
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
настройкой; он не заменяет его.
CACHE_MIDDLEWARE_SECONDS
¶
По умолчанию: 600
Количество секунд по умолчанию для кэширования страницы для промежуточного программного обеспечения кеширования .
CSRF_COOKIE_AGE
¶
По умолчанию: 31449600
(приблизительно 1 год в секундах)
Возраст файлов cookie CSRF в секундах.
Причина установки длительного срока действия заключается в том, чтобы избежать проблем в случае закрытия пользователем браузера или добавления страницы в закладки, а затем загрузки этой страницы из кеша браузера. Без постоянных файлов cookie отправка формы в этом случае завершится ошибкой.
Некоторые браузеры (в частности, Internet Explorer) могут запретить использование постоянных файлов cookie или могут повредить индексы к банке файлов cookie на диске, что приведет к сбою (иногда с перерывами) проверок защиты CSRF. Измените этот параметр на, None
чтобы использовать файлы cookie CSRF на основе сеанса, которые хранят файлы cookie в памяти, а не в постоянном хранилище.
CSRF_COOKIE_DOMAIN
¶
По умолчанию: None
Домен, который будет использоваться при установке файла cookie CSRF. Это может быть полезно для упрощения исключения запросов между субдоменами из обычной защиты от подделки межсайтовых запросов. Он должен быть установлен в строку, например,
".example.com"
чтобы разрешить POST-запрос из формы на одном поддомене быть принят представлением, обслуживаемым из другого поддомена.
Обратите внимание, что наличие этого параметра не означает, что защита Django CSRF по умолчанию защищена от атак между поддоменами - см. Раздел ограничений CSRF .
CSRF_COOKIE_HTTPONLY
¶
По умолчанию: False
Использовать ли HttpOnly
флаг для файла cookie CSRF. Если установлено значение
True
, клиентский JavaScript не сможет получить доступ к файлу cookie CSRF.
Определение файла cookie CSRF как HttpOnly
не обеспечивает никакой практической защиты, поскольку CSRF предназначен только для защиты от междоменных атак. Если злоумышленник может прочитать файл cookie через JavaScript, он уже находится в том же домене, насколько это известно браузеру, поэтому он в любом случае может делать все, что угодно. (XSS - гораздо большая дыра, чем CSRF.)
Хотя эта настройка дает небольшую практическую пользу, иногда она требуется аудиторам безопасности.
Если вы включили это и вам нужно отправить значение токена CSRF с запросом AJAX, ваш JavaScript должен извлечь значение из скрытых входных данных формы токена CSRF, а не из файла cookie .
См. SESSION_COOKIE_HTTPONLY
Подробности на HttpOnly
.
CSRF_COOKIE_NAME
¶
По умолчанию: 'csrftoken'
Имя файла cookie, используемого для токена аутентификации CSRF. Это может быть что угодно (если оно отличается от других имен файлов cookie в вашем приложении). См. Раздел Защита от подделки межсайтовых запросов .
CSRF_COOKIE_PATH
¶
По умолчанию: '/'
Путь, заданный для файла cookie CSRF. Он должен либо соответствовать URL-пути вашей установки Django, либо быть родительским для этого пути.
Это полезно, если у вас есть несколько экземпляров Django, работающих под одним и тем же именем хоста. Они могут использовать разные пути файлов cookie, и каждый экземпляр будет видеть только свой собственный файл cookie CSRF.
CSRF_COOKIE_SAMESITE
¶
По умолчанию: 'Lax'
Значение флага SameSite в файле cookie CSRF. Этот флаг предотвращает отправку cookie в межсайтовых запросах.
См SESSION_COOKIE_SAMESITE
подробной информации о SameSite
.
Установка разрешена.CSRF_COOKIE_SAMESITE = 'None'
CSRF_COOKIE_SECURE
¶
По умолчанию: False
Следует ли использовать безопасный файл cookie для файла cookie CSRF. Если установлено значение True
, cookie будет помечен как «безопасный», что означает, что браузеры могут гарантировать, что cookie будет отправляться только через HTTPS-соединение.
CSRF_USE_SESSIONS
¶
По умолчанию: False
Следует ли хранить токен CSRF в сеансе пользователя, а не в файле cookie. Это требует использования django.contrib.sessions
.
Хранение токена CSRF в файле cookie (по умолчанию Django) безопасно, но хранение его в сеансе является обычной практикой в других веб-фреймворках и поэтому иногда требуется аудиторами безопасности.
Поскольку для представлений ошибок по умолчанию требуется токен CSRF, он
SessionMiddleware
должен появляться
MIDDLEWARE
перед любым промежуточным программным обеспечением, которое может вызвать исключение для запуска представления ошибки (например, PermissionDenied
), если вы используете CSRF_USE_SESSIONS
. См. Заказ промежуточного программного обеспечения .
CSRF_FAILURE_VIEW
¶
По умолчанию: 'django.views.csrf.csrf_failure'
Пунктирный путь к функции просмотра, которая будет использоваться, когда входящий запрос отклоняется защитой CSRF . Функция должна иметь такую подпись:
def csrf_failure(request, reason=""):
...
где reason
- короткое сообщение (предназначенное для разработчиков или журналов, а не для конечных пользователей) с указанием причины отклонения запроса. Он должен вернуть HttpResponseForbidden
.
django.views.csrf.csrf_failure()
принимает дополнительный template_name
параметр, который по умолчанию равен '403_csrf.html'
. Если шаблон с таким именем существует, он будет использоваться для визуализации страницы.
CSRF_HEADER_NAME
¶
По умолчанию: 'HTTP_X_CSRFTOKEN'
Имя заголовка запроса, используемого для аутентификации CSRF.
Как и в случае с другими заголовками HTTP request.META
, полученное с сервера имя заголовка нормализуется путем преобразования всех символов в верхний регистр, замены дефисов символами подчеркивания и добавления 'HTTP_'
префикса к имени. Например, если ваш клиент отправляет 'X-XSRF-TOKEN'
заголовок, настройка должна быть 'HTTP_X_XSRF_TOKEN'
.
CSRF_TRUSTED_ORIGINS
¶
По умолчанию: []
(Пустой список)
Список хостов, которые являются надежными источниками для небезопасных запросов (например POST
). Для secure
небезопасного запроса защита CSRF Django требует, чтобы у запроса был Referer
заголовок, соответствующий источнику, присутствующему в Host
заголовке. Это предотвращает, например, POST
запрос от subdomain.example.com
от успеха против api.example.com
. Если вам нужны небезопасные запросы из разных источников по HTTPS, продолжая пример, добавьте их "subdomain.example.com"
в этот список. Этот параметр также поддерживает поддомены, поэтому вы можете добавить ".example.com"
, например, чтобы разрешить доступ со всех поддоменов домена example.com
.
DATABASES
¶
По умолчанию: {}
(Пустой словарь)
Словарь, содержащий настройки для всех баз данных, которые будут использоваться с Django. Это вложенный словарь, содержимое которого сопоставляет псевдоним базы данных со словарем, содержащим параметры для отдельной базы данных.
Параметр DATABASES
должен настраивать default
базу данных; также может быть указано любое количество дополнительных баз данных.
Самый простой файл настроек - для настройки одной базы данных с использованием SQLite. Это можно настроить следующим образом:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase',
}
}
При подключении к другим серверным модулям базы данных, таким как MariaDB, MySQL, Oracle или PostgreSQL, потребуются дополнительные параметры подключения. См. ENGINE
Настройку ниже, чтобы узнать, как указать другие типы баз данных. Этот пример для PostgreSQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
Доступны следующие внутренние параметры, которые могут потребоваться для более сложных конфигураций:
ATOMIC_REQUESTS
¶
По умолчанию: False
Установите это значение, True
чтобы заключить каждое представление в транзакцию в этой базе данных. См. «
Связывание транзакций с HTTP-запросами» .
AUTOCOMMIT
¶
По умолчанию: True
Установите это значение, False
если вы хотите отключить управление транзакциями в Django и реализовать свое собственное.
ENGINE
¶
По умолчанию: ''
(Пустая строка)
Используемая база данных. Встроенные серверные части базы данных:
'django.db.backends.postgresql'
'django.db.backends.mysql'
'django.db.backends.sqlite3'
'django.db.backends.oracle'
Вы можете использовать серверную часть базы данных, которая не поставляется с Django, указав
ENGINE
полный путь (т.е. mypackage.backends.whatever
).
HOST
¶
По умолчанию: ''
(Пустая строка)
Какой хост использовать при подключении к базе данных. Пустая строка означает localhost. Не используется с SQLite.
Если это значение начинается с косой черты ( '/'
) и вы используете MySQL, MySQL будет подключаться через сокет Unix к указанному сокету. Например:
"HOST": '/var/run/mysql'
Если вы используете MySQL и это значение не начинается с косой черты, предполагается, что это значение является хостом.
Если вы используете PostgreSQL, по умолчанию (пусто HOST
) соединение с базой данных осуществляется через сокеты домена UNIX (в них «локальные» строки
pg_hba.conf
). Если сокет вашего домена UNIX не находится в стандартном расположении, используйте то же значение unix_socket_directory
from 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
¶
По умолчанию: {}
(Пустой словарь)
Дополнительные параметры для использования при подключении к базе данных. Доступные параметры зависят от вашей базы данных.
Некоторую информацию о доступных параметрах можно найти в документации Database Backends . Для получения дополнительной информации обратитесь к документации вашего внутреннего модуля.
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. - Если вы подключаетесь к сторонней базе данных, которая хранит дату и время по местному времени, а не по всемирному координированному времени, вы должны установить для этого параметра соответствующий часовой пояс. Точно так же, если Django управляет базой данных, но сторонние системы подключаются к той же базе данных и ожидают найти дату по местному времени, тогда вы должны установить эту опцию.
- Если Django управляет базой данных, и у вас нет веских причин поступать иначе, вы должны оставить эту опцию не установленной. Лучше всего хранить дату в формате UTC, потому что это позволяет избежать неоднозначных или несуществующих дат при переходе на летнее время. Кроме того, получение времени в формате UTC упрощает арифметику даты и времени - нет необходимости в
Если серверная часть базы данных поддерживает часовые пояса (например, PostgreSQL),
TIME_ZONE
опция требуется очень редко. Его можно изменить в любой момент; база данных заботится о преобразовании даты и времени в желаемый часовой пояс.Установка часового пояса для подключения к базе данных может быть полезна для выполнения необработанных SQL-запросов, включающих функции даты / времени, предоставляемые базой данных, например
date_trunc
, потому что их результаты зависят от часового пояса.Однако у этого есть и обратная сторона: получение всех значений даты и времени по местному времени усложняет арифметику даты и времени - вы должны вызывать
normalize()
метод, предоставляемый pytz, после каждой операции.Вместо установки этой опции рассмотрите возможность явного преобразования в местное время с помощью необработанных запросов SQL .
AT TIME ZONE
TIME_ZONE
Использование этой опции, когда серверная часть базы данных поддерживает часовые пояса, было разрешено.
DISABLE_SERVER_SIDE_CURSORS
¶
По умолчанию: False
Установите это значение, True
если вы хотите отключить использование серверных курсоров с
QuerySet.iterator()
. Пул транзакций и курсоры на стороне сервера
описывают вариант использования.
Это настройка, специфичная для PostgreSQL.
USER
¶
По умолчанию: ''
(Пустая строка)
Имя пользователя для использования при подключении к базе данных. Не используется с SQLite.
TEST
¶
По умолчанию: {}
(Пустой словарь)
Словарь настроек для тестовых баз данных; Дополнительные сведения о создании и использовании тестовых баз данных см. в разделе Тестовая база данных .
Вот пример конфигурации тестовой базы данных:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'USER': 'mydatabaseuser',
'NAME': 'mydatabase',
'TEST': {
'NAME': 'mytestdatabase',
},
},
}
В TEST
словаре доступны следующие ключи :
CHARSET
¶
По умолчанию: None
Кодировка набора символов, используемая для создания тестовой базы данных. Значение этой строки передается напрямую в базу данных, поэтому ее формат зависит от серверной части.
Поддерживается серверными модулями PostgreSQL ( postgresql
) и MySQL ( mysql
).
COLLATION
¶
По умолчанию: None
Порядок сопоставления, используемый при создании тестовой базы данных. Это значение передается непосредственно в серверную часть, поэтому его формат зависит от серверной части.
Поддерживается только для mysql
серверной части (подробности см. В руководстве по MySQL ).
DEPENDENCIES
¶
По умолчанию: ['default']
для всех баз данных, кроме default
, не имеющей зависимостей.
Зависимости порядка создания базы данных. См. Документацию по контролю за порядком создания тестовых баз данных.
MIGRATE
¶
По умолчанию: True
Если установлено значение False
, миграции не будут выполняться при создании тестовой базы данных. Это похоже на установку None
значения в MIGRATION_MODULES
, но для всех приложений.
MIRROR
¶
По умолчанию: None
Псевдоним базы данных, которую эта база данных должна отображать во время тестирования.
Этот параметр существует, чтобы разрешить тестирование конфигурации первичной / реплики (называемой в некоторых базах данных как ведущий / ведомый) нескольких баз данных. Подробную информацию см. В документации по тестированию конфигураций первичной / реплики .
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_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', '%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
, то формат, продиктованный локалью, имеет более высокий приоритет и будет применяться вместо него. Смотрите
.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'
]
Список форматов, которые будут приняты при вводе данных в поле даты и времени. Форматы будут проверяться по порядку, используя первый действующий. Обратите внимание, что в этих строках формата используется синтаксис модуля Python datetime , а не строки формата из 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_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
¶
По умолчанию: '[email protected]'
Адрес электронной почты по умолчанию, используемый для различной автоматической корреспонденции от менеджеров сайта. Это не включает сообщения об ошибках, отправленные на ADMINS
и MANAGERS
; для этого см SERVER_EMAIL
.
DEFAULT_HASHING_ALGORITHM
¶
По умолчанию: '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
¶
По умолчанию: не определено
Каталог, используемый серверной частью электронной почты для хранения файлов вывода.
Поддержка 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_SUBJECT_PREFIX
¶
По умолчанию: '[Django] '
Префикс строки темы для сообщений электронной почты, отправленных с помощью django.core.mail.mail_admins
или django.core.mail.mail_managers
. Вероятно, вы захотите включить конечный пробел.
EMAIL_USE_LOCALTIME
¶
По умолчанию: False
Следует ли отправлять SMTP- Date
заголовок сообщений электронной почты в местном часовом поясе ( True
) или в формате UTC ( False
).
EMAIL_USE_TLS
¶
По умолчанию: False
Следует ли использовать соединение TLS (безопасное) при разговоре с сервером SMTP. Это используется для явных подключений TLS, обычно на порте 587. Если вы испытываете зависшие подключения, см. Параметр неявного TLS
EMAIL_USE_SSL
.
EMAIL_USE_SSL
¶
По умолчанию: False
Следует ли использовать неявное (безопасное) соединение TLS при разговоре с SMTP-сервером. В большей части документации по электронной почте этот тип TLS-соединения называется SSL. Обычно он используется на порту 465. Если у вас возникли проблемы, см. Явную настройку TLS EMAIL_USE_TLS
.
Обратите внимание, что EMAIL_USE_TLS
/ EMAIL_USE_SSL
являются взаимоисключающими, поэтому установите только один из этих параметров True
.
EMAIL_SSL_CERTFILE
¶
По умолчанию: None
Если EMAIL_USE_SSL
или EMAIL_USE_TLS
есть True
, вы можете дополнительно указать путь к файлу цепочки сертификатов в формате PEM, который будет использоваться для SSL-соединения.
EMAIL_SSL_KEYFILE
¶
По умолчанию: None
Если EMAIL_USE_SSL
или EMAIL_USE_TLS
есть True
, вы можете дополнительно указать путь к файлу закрытого ключа в формате PEM, который будет использоваться для SSL-соединения.
Обратите внимание, что установка EMAIL_SSL_CERTFILE
и EMAIL_SSL_KEYFILE
не приводит к проверке сертификата. Они передаются базовому SSL-соединению. Пожалуйста, обратитесь к документации функции Python
ssl.wrap_socket()
для получения подробной информации о том, как обрабатываются файл цепочки сертификатов и файл закрытого ключа.
EMAIL_TIMEOUT
¶
По умолчанию: None
Задает тайм-аут в секундах для блокирующих операций, таких как попытка подключения.
FILE_UPLOAD_HANDLERS
¶
По умолчанию:
[
'django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler',
]
Список обработчиков для загрузки. Изменение этого параметра позволяет полностью настроить - даже заменить - процесс загрузки Django.
Подробнее см. Управление файлами .
FILE_UPLOAD_MAX_MEMORY_SIZE
¶
По умолчанию: 2621440
(т.е. 2,5 МБ).
Максимальный размер (в байтах), который будет загружаться до того, как он будет передан в файловую систему. Подробнее см. Управление файлами .
См. Также DATA_UPLOAD_MAX_MEMORY_SIZE
.
FILE_UPLOAD_DIRECTORY_PERMISSIONS
¶
По умолчанию: None
Числовой режим, применяемый к каталогам, созданным в процессе загрузки файлов.
Этот параметр также определяет разрешения по умолчанию для собранных статических каталогов при использовании команды collectstatic
управления. См.
collectstatic
Подробные сведения о его переопределении.
Это значение отражает функциональность и предостережения
FILE_UPLOAD_PERMISSIONS
настройки.
FILE_UPLOAD_PERMISSIONS
¶
По умолчанию: 0o644
Числовой режим (т.е. 0o644
) для установки вновь загружаемых файлов. Дополнительные сведения о том, что означают эти режимы, см. В документации
os.chmod()
.
Если None
вы получите поведение, зависящее от операционной системы. На большинстве платформ временные файлы будут иметь режим 0o600
, а файлы, сохраненные из памяти, будут сохранены с использованием стандартной системной маски umask.
По соображениям безопасности эти разрешения не применяются к временным файлам, которые хранятся в FILE_UPLOAD_TEMP_DIR
.
Этот параметр также определяет разрешения по умолчанию для собранных статических файлов при использовании команды collectstatic
управления. См.
collectstatic
Подробные сведения о его переопределении.
Предупреждение
Всегда ставьте перед режимом префикс 0o
.
Если вы не знакомы с режимами файлов, обратите внимание, что 0o
префикс очень важен: он указывает восьмеричное число, которым должны быть указаны режимы. Если вы попытаетесь использовать 644
, вы получите совершенно некорректное поведение.
FILE_UPLOAD_TEMP_DIR
¶
По умолчанию: None
Каталог для FILE_UPLOAD_MAX_MEMORY_SIZE
временного хранения данных (обычно файлов большего размера
) при загрузке файлов. Если None
, Django будет использовать стандартный временный каталог для операционной системы. Например, это будет по умолчанию для /tmp
операционных систем в стиле * nix.
Подробнее см. Управление файлами .
FIRST_DAY_OF_WEEK
¶
По умолчанию: 0
(воскресенье)
Число, представляющее первый день недели. Это особенно полезно при отображении календаря. Это значение используется только в том случае, если не используется интернационализация формата или когда не удается найти формат для текущей локали.
Значение должно быть целым числом от 0 до 6, где 0 означает воскресенье, 1 означает понедельник и так далее.
FIXTURE_DIRS
¶
По умолчанию: []
(Пустой список)
Список каталогов, в которых выполнялся поиск файлов фикстур, в дополнение к
fixtures
каталогу каждого приложения в порядке поиска.
Обратите внимание, что эти пути должны использовать косую черту в стиле Unix даже в Windows.
См. Предоставление данных с приборами и Загрузка приспособлений .
FORCE_SCRIPT_NAME
¶
По умолчанию: None
В противном случае None
это будет использоваться как значение SCRIPT_NAME
переменной среды в любом HTTP-запросе. Этот параметр можно использовать для переопределения значения, предоставленного сервером SCRIPT_NAME
, которое может быть перезаписанной версией предпочтительного значения или вообще отсутствовать. Он также используется
django.setup()
для установки префикса сценария преобразователя URL-адресов вне цикла запроса / ответа (например, в командах управления и автономных сценариях) для генерации правильных URL-адресов, когда SCRIPT_NAME
это не так /
.
FORM_RENDERER
¶
По умолчанию: '
django.forms.renderers.DjangoTemplates
'
Класс, который отображает виджеты формы. Он должен реализовывать низкоуровневый 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 по электронной почте (см.
Отчет об ошибках ). Сопоставляются регулярные выражения
(включая строку запроса, если таковая имеется). Используйте это, если на вашем сайте нет часто запрашиваемого файла, такого как или .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()
процессору контекста добавить некоторые переменные в контекст шаблона. - Может использовать букмарклеты admindocs, даже если не вошел в систему как штатный пользователь.
- В
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 домена.
Будьте осторожны при обновлении этого параметра на рабочем сайте. Если вы обновите этот параметр, чтобы включить междоменные файлы cookie на сайте, который ранее использовал стандартные файлы cookie домена, существующие файлы cookie пользователя, которые относятся к старому домену, не будут обновлены. Это приведет к тому, что пользователи сайта не смогут переключать язык, пока сохраняются эти файлы cookie. Единственный безопасный и надежный вариант выполнения переключения - это навсегда изменить имя языкового файла cookie (с помощью LANGUAGE_COOKIE_NAME
настройки) и добавить промежуточное ПО, которое копирует значение из старого файла cookie в новый, а затем удаляет старый.
LANGUAGE_COOKIE_HTTPONLY
¶
По умолчанию: False
Использовать ли HttpOnly
флаг для языкового cookie. Если установлено значение
True
, клиентский JavaScript не сможет получить доступ к языку cookie.
См. SESSION_COOKIE_HTTPONLY
Подробности на HttpOnly
.
LANGUAGE_COOKIE_NAME
¶
По умолчанию: 'django_language'
Имя файла cookie, используемого для языкового файла cookie. Это может быть что угодно (если оно отличается от других имен файлов cookie в вашем приложении). См. Интернационализация и локализация .
LANGUAGE_COOKIE_PATH
¶
По умолчанию: '/'
Путь, установленный для языкового файла cookie. Он должен либо соответствовать URL-пути вашей установки Django, либо быть родительским для этого пути.
Это полезно, если у вас есть несколько экземпляров Django, работающих под одним и тем же именем хоста. Они могут использовать разные пути для файлов cookie, и каждый экземпляр будет видеть файл cookie только для своего языка.
Будьте осторожны при обновлении этого параметра на рабочем сайте. Если вы обновите этот параметр, чтобы использовать более глубокий путь, чем он использовался ранее, существующие файлы cookie пользователя, которые имеют старый путь, не будут обновлены. Это приведет к тому, что пользователи сайта не смогут переключать язык, пока сохраняются эти файлы cookie. Единственный безопасный и надежный вариант выполнения переключения - это навсегда изменить имя языкового файла cookie (с помощью LANGUAGE_COOKIE_NAME
настройки) и добавить промежуточное ПО, которое копирует значение из старого файла cookie в новый, а затем удаляет его.
LANGUAGE_COOKIE_SAMESITE
¶
По умолчанию: None
Значение флага SameSite в языковом файле cookie. Этот флаг предотвращает отправку cookie в межсайтовых запросах.
См SESSION_COOKIE_SAMESITE
подробной информации о SameSite
.
Установка разрешена.LANGUAGE_COOKIE_SAMESITE = 'None'
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
. См. Также
Настройка ведения журнала .
Вы можете увидеть конфигурацию протоколирования по умолчанию, глядя в Джанго / 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
, то соответствующий формат, продиктованный локалью, имеет более высокий приоритет и будет применяться.
Смотрите . Смотрите также
, ,
и .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
, дальнейшая группировка не выполняется. Если последовательность заканчивается символом a 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
жетоны. - Любое использование криптографической подписи , если не предоставлен другой ключ.
Если вы измените свой секретный ключ, все вышеперечисленное станет недействительным. Секретные ключи не используются для паролей пользователей, и ротация ключей не повлияет на них.
Примечание
settings.py
Файл по умолчанию, созданный с помощью, создает уникальный для удобства.django-admin
startproject
SECRET_KEY
SECURE_BROWSER_XSS_FILTER
¶
По умолчанию: False
Если True
, то SecurityMiddleware
устанавливает X-XSS-Protection: 1; mode = заголовок блока для всех ответов, в которых его еще нет.
Современные браузеры больше не поддерживают X-XSS-Protection
HTTP-заголовок. Хотя этот параметр дает небольшую практическую пользу, вы все равно можете установить заголовок, если вы поддерживаете старые браузеры.
SECURE_CONTENT_TYPE_NOSNIFF
¶
По умолчанию: True
Если True
, то SecurityMiddleware
устанавливает заголовок X-Content-Type-Options: nosniff для всех ответов, в которых его еще нет.
SECURE_HSTS_INCLUDE_SUBDOMAINS
¶
По умолчанию: False
Если True
, SecurityMiddleware
добавляет includeSubDomains
директиву в
заголовок HTTP Strict Transport Security . Это не имеет никакого эффекта, если SECURE_HSTS_SECONDS
не установлено ненулевое значение.
Предупреждение
Неправильная установка этого параметра может необратимо (в ущерб
SECURE_HSTS_SECONDS
) вывести ваш сайт из строя. Сначала прочтите документацию по
HTTP Strict Transport Security .
SECURE_HSTS_PRELOAD
¶
По умолчанию: False
Если True
, SecurityMiddleware
добавляет preload
директиву в
заголовок HTTP Strict Transport Security . Это не имеет никакого эффекта, если SECURE_HSTS_SECONDS
не установлено ненулевое значение.
SECURE_HSTS_SECONDS
¶
По умолчанию: 0
Если задано ненулевое целочисленное значение, он
SecurityMiddleware
устанавливает
заголовок HTTP Strict Transport Security для всех ответов, которые его еще не имеют.
Предупреждение
Неправильная установка может необратимо (на некоторое время) сломать ваш сайт. Сначала прочтите документацию по HTTP Strict Transport Security .
SECURE_PROXY_SSL_HEADER
¶
По умолчанию: None
Кортеж, представляющий комбинацию HTTP-заголовка и значения, означающую, что запрос безопасен. Это контролирует поведение метода объекта запроса is_secure()
.
По умолчанию is_secure()
определяет , является ли запрос безопасным, подтверждая, что запрашиваемый URL-адрес использует https://
. Этот метод важен для защиты CSRF Django и может использоваться вашим собственным кодом или сторонними приложениями.
Однако, если ваше приложение Django находится за прокси-сервером, прокси-сервер может «глотать», использует ли исходный запрос HTTPS или нет. Если между прокси-сервером и Django установлено не-HTTPS-соединение, is_secure()
оно всегда будет возвращаться False
- даже для запросов, которые были сделаны через HTTPS конечным пользователем. Напротив, если существует 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).
Вы должны только установить этот параметр , если вы контролируете свой прокси - сервер или иметь некоторую другую гарантию того, что она устанавливает / удаляет этот заголовок соответствующим образом .
Обратите внимание, что заголовок должен быть в формате, используемом 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
¶
По умолчанию: 'same-origin'
Если настроено, SecurityMiddleware
задает для заголовка политики реферера для всех ответов, которые еще не содержат его, указанное значение.
В более старых версиях значение по умолчанию - 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
¶
По умолчанию: не определено
Словарь модулей, содержащий определения сериализатора (представленные в виде строк), с ключом из строкового идентификатора для этого типа сериализации. Например, чтобы определить сериализатор 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
, то соответствующий формат, продиктованный локалью, имеет более высокий приоритет и будет применяться. Смотрите .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
Файл по умолчанию, созданный sets .django-admin
startproject
'APP_DIRS': True
OPTIONS
¶
По умолчанию: {}
(Пустой диктант)
Дополнительные параметры для передачи в бэкэнд шаблона. Доступные параметры различаются в зависимости от серверной части шаблона. См.
DjangoTemplates
И
Jinja2
параметры встроенных серверных модулей.
TEST_RUNNER
¶
По умолчанию: 'django.test.runner.DiscoverRunner'
Имя класса, используемого для запуска набора тестов. См. Раздел Использование различных сред тестирования .
TEST_NON_SERIALIZED_APPS
¶
По умолчанию: []
(Пустой список)
Чтобы восстановить состояние базы данных между тестами для
TransactionTestCase
s и серверной частью базы данных без транзакций, Django сериализует содержимое всех приложений
при запуске тестового запуска, чтобы затем можно было перезагрузить эту копию перед запуском тестов, которые в ней нуждаются.
Это замедляет время запуска средства запуска тестов; если у вас есть приложения, которые, как вы знаете, не нуждаются в этой функции, вы можете добавить их полные имена сюда (например
'django.contrib.contenttypes'
), чтобы исключить их из этого процесса сериализации.
THOUSAND_SEPARATOR
¶
По умолчанию: ','
(запятая)
Разделитель тысяч по умолчанию, используемый при форматировании чисел. Этот параметр используется, только если USE_THOUSAND_SEPARATOR
больше True
и
NUMBER_GROUPING
больше 0
.
Обратите внимание, что если USE_L10N
установлено значение True
, то формат, продиктованный локалью, имеет более высокий приоритет и будет применяться вместо него.
См. Также NUMBER_GROUPING
, DECIMAL_SEPARATOR
и
USE_THOUSAND_SEPARATOR
.
TIME_FORMAT
¶
По умолчанию: 'P'
(например )4 p.m.
Форматирование по умолчанию, используемое для отображения полей времени в любой части системы. Обратите внимание, что если USE_L10N
установлено значение True
, то формат, продиктованный локалью, имеет более высокий приоритет и будет применяться вместо него. Смотрите
.allowed date format strings
См. Также DATE_FORMAT
и DATETIME_FORMAT
.
TIME_INPUT_FORMATS
¶
По умолчанию:
[
'%H:%M:%S', # '14:30:59'
'%H:%M:%S.%f', # '14:30:59.000200'
'%H:%M', # '14:30'
]
Список форматов, которые будут приняты при вводе данных в поле времени. Форматы будут проверяться по порядку, используя первый действующий. Обратите внимание, что в этих строках формата используется синтаксис модуля Python datetime , а не строки формата из date
фильтра шаблона.
Когда USE_L10N
есть True
, формат, продиктованный локалью, имеет более высокий приоритет и будет применяться вместо него.
См. Также DATE_INPUT_FORMATS
и DATETIME_INPUT_FORMATS
.
TIME_ZONE
¶
По умолчанию: 'America/Chicago'
Строка, представляющая часовой пояс для этой установки. См. Список часовых поясов .
Примечание
Поскольку Django был впервые выпущен с TIME_ZONE
установленным значением
'America/Chicago'
, глобальная настройка (используется, если в вашем проекте ничего не определено settings.py
) остается 'America/Chicago'
для обратной совместимости. Для новых шаблонов проектов по умолчанию используется 'UTC'
.
Обратите внимание, что это не обязательно часовой пояс сервера. Например, один сервер может обслуживать несколько сайтов на базе Django, каждый с отдельной настройкой часового пояса.
Когда USE_TZ
есть False
, это часовой пояс, в котором Django будет хранить все даты и времени. Когда USE_TZ
есть True
, это часовой пояс по умолчанию, который Django будет использовать для отображения времени в шаблонах и для интерпретации времени, введенного в формы.
В средах Unix (где time.tzset()
реализовано) Django устанавливает для
os.environ['TZ']
переменной часовой пояс, указанный в
TIME_ZONE
настройке. Таким образом, все ваши представления и модели будут автоматически работать в этом часовом поясе. Однако Django не будет устанавливать TZ
переменную среды, если вы используете вариант ручной настройки, как описано в разделе « Ручная настройка параметров» . Если Django не устанавливает TZ
переменную среды, вы должны убедиться, что ваши процессы работают в правильной среде.
Примечание
Django не может надежно использовать альтернативные часовые пояса в среде Windows. Если вы используете Django в Windows, TIME_ZONE
необходимо настроить часовой пояс системы.
USE_I18N
¶
По умолчанию: True
Логическое значение, указывающее, должна ли быть включена система перевода Django. Это дает возможность отключить его для повышения производительности. Если установлено значение
False
, Django произведет некоторую оптимизацию, чтобы не загружать механизм перевода.
См. Также LANGUAGE_CODE
, USE_L10N
и USE_TZ
.
Примечание
settings.py
Файл по умолчанию, созданный для удобства, включает .django-admin
startproject
USE_I18N = True
USE_L10N
¶
По умолчанию: False
Логическое значение, указывающее, будет ли локализованное форматирование данных включено по умолчанию или нет. Если это установлено True
, например, Django будет отображать числа и даты в формате текущей локали.
См. Также LANGUAGE_CODE
, USE_I18N
и USE_TZ
.
Примечание
settings.py
Файл по умолчанию, созданный для удобства, включает .django-admin
startproject
USE_L10N = True
USE_THOUSAND_SEPARATOR
¶
По умолчанию: False
Логическое значение, указывающее, следует ли отображать числа с использованием разделителя тысяч. Если установлено значение True
и USE_L10N
также True
, Django будет формат чисел , используя NUMBER_GROUPING
и
THOUSAND_SEPARATOR
настройки. Эти настройки также могут быть продиктованы языковым стандартом, который имеет приоритет.
См. Также DECIMAL_SEPARATOR
, NUMBER_GROUPING
и
THOUSAND_SEPARATOR
.
USE_TZ
¶
По умолчанию: False
Логическое значение, указывающее, будут ли даты по умолчанию учитывать часовой пояс по умолчанию или нет. Если установлено значение True
, Django будет внутренне использовать дату и время с учетом часового пояса.
Если USE_TZ
задано значение 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
Полный путь Python к объекту приложения WSGI, который runserver
будут использовать встроенные серверы Django (например ). Команда управления создаст стандартный файл с вызываемым объектом и укажет
этот параметр на это .django-admin
startproject
wsgi.py
application
application
Если не установлен, django.core.wsgi.get_wsgi_application()
будет использоваться возвращаемое значение . В этом случае поведение runserver
будет идентично предыдущим версиям Django.
YEAR_MONTH_FORMAT
¶
По умолчанию: 'F Y'
Форматирование по умолчанию, используемое для полей даты на страницах списка изменений администратора Django - и, возможно, другими частями системы - в случаях, когда отображаются только год и месяц.
Например, когда страница списка изменений администратора Django фильтруется с помощью развертки по дате, в заголовке для данного месяца отображаются месяц и год. Разные языковые стандарты имеют разные форматы. Например, на американском английском будет написано «январь 2006», а в другом языке - «2006 / январь».
Обратите внимание, что если USE_L10N
установлено значение True
, то соответствующий формат, продиктованный локалью, имеет более высокий приоритет и будет применяться.
Смотрите . Смотрите также
, ,
и .allowed date format strings
DATE_FORMAT
DATETIME_FORMAT
TIME_FORMAT
MONTH_DAY_FORMAT
X_FRAME_OPTIONS
¶
По умолчанию: 'DENY'
Значение по умолчанию для заголовка X-Frame-Options, используемого
XFrameOptionsMiddleware
. См. Документацию по защите от
кликджекинга .
Auth ¶
Настройки для django.contrib.auth
.
AUTHENTICATION_BACKENDS
¶
По умолчанию: ['django.contrib.auth.backends.ModelBackend']
Список классов серверной части аутентификации (в виде строк) для использования при попытке аутентификации пользователя. Подробную информацию см. В документации по бэкэндам аутентификации .
AUTH_USER_MODEL
¶
По умолчанию: 'auth.User'
Модель для представления пользователя. См. Замена пользовательской модели пользователя .
Предупреждение
Вы не можете изменить настройку AUTH_USER_MODEL в течение жизненного цикла проекта (то есть после того, как вы создали и перенесли зависимые от него модели) без серьезных усилий. Он предназначен для установки в начале проекта, и модель, к которой он относится, должна быть доступна при первой миграции приложения, в котором оно находится. Дополнительные сведения см. В разделе « Подстановка пользовательской модели пользователя» .
LOGIN_REDIRECT_URL
¶
По умолчанию: '/accounts/profile/'
URL-адрес или именованный шаблон URL-адреса, на который запросы перенаправляются после входа в систему, если LoginView
не получает next
параметр GET.
LOGIN_URL
¶
По умолчанию: '/accounts/login/'
URL-адрес или именованный шаблон URL-адреса, в котором запросы перенаправляются для входа в систему при использовании
login_required()
декоратора
LoginRequiredMixin
, или
AccessMixin
.
LOGOUT_REDIRECT_URL
¶
По умолчанию: None
URL-адрес или именованный шаблон URL-адреса, на который запросы перенаправляются после выхода из системы, если LogoutView
не имеет next_page
атрибута.
Если None
, перенаправление не будет выполнено, и будет отображено представление выхода из системы.
PASSWORD_RESET_TIMEOUT
¶
По умолчанию: 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 хранит данные сообщений. Допустимые значения:
'django.contrib.messages.storage.fallback.FallbackStorage'
'django.contrib.messages.storage.session.SessionStorage'
'django.contrib.messages.storage.cookie.CookieStorage'
См. Дополнительные сведения в серверных модулях хранения сообщений .
В движках , которые используют куки -
CookieStorage
и
FallbackStorage
- использовать значение SESSION_COOKIE_DOMAIN
, SESSION_COOKIE_SECURE
и SESSION_COOKIE_HTTPONLY
при установке их печенья.
MESSAGE_TAGS
¶
По умолчанию:
{
messages.DEBUG: 'debug',
messages.INFO: 'info',
messages.SUCCESS: 'success',
messages.WARNING: 'warning',
messages.ERROR: 'error',
}
Это устанавливает сопоставление уровня сообщения с тегом сообщения, который обычно отображается как класс CSS в HTML. Если вы укажете значение, оно расширит значение по умолчанию. Это означает, что вам нужно указать только те значения, которые вам нужно переопределить. См. Раздел Отображение сообщений выше для получения более подробной информации.
Важный
Если вы переопределите MESSAGE_TAGS
в своем файле настроек и полагаетесь на любую из встроенных констант, вы должны импортировать constants
модуль напрямую, чтобы избежать возможности циклического импорта, например:
from django.contrib.messages import constants as message_constants
MESSAGE_TAGS = {message_constants.INFO: ''}
При желании вы можете указать числовые значения для констант непосредственно в соответствии со значениями в приведенной выше таблице констант .
Сессии ¶
Настройки для django.contrib.sessions
.
SESSION_CACHE_ALIAS
¶
По умолчанию: 'default'
Если вы используете хранилище сеансов на основе кеша , это выбирает кеш для использования.
SESSION_COOKIE_AGE
¶
По умолчанию: 1209600
(2 недели в секундах)
Возраст файлов cookie сеанса в секундах.
SESSION_COOKIE_DOMAIN
¶
По умолчанию: None
Домен, который будет использоваться для файлов cookie сеанса. Задайте для него строку, например,
"example.com"
для междоменных файлов cookie, или используйте None
для стандартного файла cookie домена.
Чтобы использовать междоменные файлы cookie с CSRF_USE_SESSIONS
, вы должны включить начальную точку (например ".example.com"
), чтобы обеспечить проверку ссылки промежуточного программного обеспечения 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.
Это делает менее тривиальным для злоумышленника перерасти уязвимость межсайтового скриптинга в полный захват сеанса пользователя. Есть не так много веских причин для отключения этого параметра. Ваш код не должен читать файлы cookie сеанса из JavaScript.
SESSION_COOKIE_NAME
¶
По умолчанию: 'sessionid'
Имя файла cookie, используемого для сеансов. Это может быть что угодно (если оно отличается от других имен файлов cookie в вашем приложении).
SESSION_COOKIE_PATH
¶
По умолчанию: '/'
Путь, установленный для файла cookie сеанса. Он должен либо соответствовать URL-пути вашей установки Django, либо быть родительским для этого пути.
Это полезно, если у вас есть несколько экземпляров Django, работающих под одним и тем же именем хоста. Они могут использовать разные пути файлов cookie, и каждый экземпляр будет видеть только свой собственный файл cookie сеанса.
SESSION_COOKIE_SAMESITE
¶
По умолчанию: 'Lax'
Значение флага SameSite в файле cookie сеанса. Этот флаг предотвращает отправку файла cookie в межсайтовых запросах, что предотвращает атаки CSRF и делает невозможными некоторые методы кражи файлов cookie сеанса.
Возможные значения для настройки:
'Strict'
: предотвращает отправку файла cookie браузером на целевой сайт во всем контексте просмотра между сайтами, даже при переходе по обычной ссылке.Например, для веб-сайта, подобного GitHub, это будет означать, что если вошедший в систему пользователь перейдет по ссылке на частный проект GitHub, опубликованный на корпоративном дискуссионном форуме или по электронной почте, GitHub не получит файл cookie сеанса, и пользователь не будет может получить доступ к проекту. Однако веб-сайт банка, скорее всего, не хочет разрешать ссылки на какие-либо страницы транзакций с внешних сайтов, поэтому
'Strict'
флаг будет уместным.'Lax'
(по умолчанию): обеспечивает баланс между безопасностью и удобством использования для веб-сайтов, которые хотят поддерживать сеанс входа пользователя в систему после того, как пользователь перейдет по внешней ссылке.В сценарии GitHub файл cookie сеанса будет разрешен при переходе по обычной ссылке с внешнего веб-сайта и заблокирован в методах запроса, подверженных CSRF (например
POST
).'None'
(строка): файл cookie сеанса будет отправлен со всеми запросами на одном сайте и между сайтами.False
: отключает флаг.
Примечание
Современные браузеры предоставляют более безопасную политику по умолчанию для SameSite
флага и предполагают Lax
использование файлов cookie без явного задания значения.
Установка разрешена.SESSION_COOKIE_SAMESITE = 'None'
SESSION_COOKIE_SECURE
¶
По умолчанию: False
Следует ли использовать безопасный файл cookie для файла cookie сеанса. Если установлено значение
True
, cookie будет помечен как «безопасный», что означает, что браузеры могут гарантировать, что cookie будет отправляться только через HTTPS-соединение.
Не рекомендуется оставлять этот параметр выключенным, поскольку злоумышленник может захватить незашифрованный файл cookie сеанса с помощью анализатора пакетов и использовать этот файл cookie для перехвата сеанса пользователя.
SESSION_ENGINE
¶
По умолчанию: 'django.contrib.sessions.backends.db'
Контролирует, где Django хранит данные сеанса. Включенные двигатели:
'django.contrib.sessions.backends.db'
'django.contrib.sessions.backends.file'
'django.contrib.sessions.backends.cache'
'django.contrib.sessions.backends.cached_db'
'django.contrib.sessions.backends.signed_cookies'
Дополнительные сведения см. В разделе « Настройка механизма сеанса» .
SESSION_EXPIRE_AT_BROWSER_CLOSE
¶
По умолчанию: False
Завершать ли сеанс, когда пользователь закрывает свой браузер. См. Сеансы продолжительностью браузера и постоянные сеансы .
SESSION_FILE_PATH
¶
По умолчанию: None
Если вы используете файловое хранилище сеансов, это устанавливает каталог, в котором Django будет хранить данные сеанса. Когда используется значение по умолчанию ( None
), Django будет использовать стандартный временный каталог для системы.
SESSION_SAVE_EVERY_REQUEST
¶
По умолчанию: False
Сохранять ли данные сеанса при каждом запросе. Если это False
(по умолчанию), то данные сеанса будут сохранены только в том случае, если они были изменены - то есть, если какое-либо из его словарных значений было присвоено или удалено. Пустые сеансы не будут созданы, даже если этот параметр активен.
SESSION_SERIALIZER
¶
По умолчанию: 'django.contrib.sessions.serializers.JSONSerializer'
Полный путь импорта класса сериализатора для использования для сериализации данных сеанса. Включенные сериализаторы:
'django.contrib.sessions.serializers.PickleSerializer'
'django.contrib.sessions.serializers.JSONSerializer'
Подробные сведения см. В разделе « Сериализация сеанса» , включая предупреждение о возможном удаленном выполнении кода при использовании
PickleSerializer
.
Сайты ¶
Настройки для django.contrib.sites
.
SITE_ID
¶
По умолчанию: не определено
Целочисленный идентификатор текущего сайта в django_site
таблице базы данных. Это используется для того, чтобы данные приложения могли подключаться к определенным сайтам, а одна база данных могла управлять контентом для нескольких сайтов.
Статические файлы ¶
Настройки для django.contrib.staticfiles
.
STATIC_ROOT
¶
По умолчанию: None
Абсолютный путь к каталогу, в котором collectstatic
будут собираться статические файлы для развертывания.
Пример: "/var/www/example.com/static/"
Если приложение staticfiles contrib включено (как в шаблоне проекта по умолчанию), команда 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
управления будет собирать файлы «статистики» в '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
поиска убедитесь, что ваши приложения можно найти по статическим файлам, добавив приложение в
INSTALLED_APPS
настройки вашего сайта.
Поиск статических файлов в настоящее время считается частным интерфейсом, и поэтому этот интерфейс не документирован.
Тематический указатель основных настроек ¶
Отладка ¶
Электронная почта ¶
Отчет об ошибках ¶
Загрузка файлов ¶
Формы ¶
Глобализация ( 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 ¶
Ведение журнала ¶
Безопасность ¶
- Защита от подделки межсайтовых запросов
SECRET_KEY
X_FRAME_OPTIONS
Сериализация ¶
Тестирование ¶
- База данных:
TEST
TEST_NON_SERIALIZED_APPS
TEST_RUNNER