Предупреждение
Будьте осторожны при переопределении настроек, особенно если значение по умолчанию не пустой словарь или кортеж, например MIDDLEWARE_CLASSES и TEMPLATE_CONTEXT_PROCESSORS. Убедитесь что настройка содержит все параметры необходимые для работы модулей Django, которые вы собираетесь использовать.
Здесь представлен полный список всех доступных настроек и значений по умолчанию в алфавитном порядке.
По умолчанию: {} (Пустой словарь)
Словарь содержащий ключ в формате "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),
}
Заметим что название модели должно быть в нижнем регистре не смотря на реальное название класса модели.
По умолчанию: () (Пустой кортеж)
Используется интерфейсом администратора при автоматической генерации документации. Кортеж должен содержать путь для импорта модуля настроек(settings.py) проектов, для которых этой является административным (в формате 'foo.bar.baz').
Приложение для создания документации в интерфейсе администратора(django.contrib.admindocs) использует эту настройку для поиска моделей, представлений и шаблонных тегов.
По умолчанию: () (Пустой кортеж)
Кортеж содержит список людей, которые будут получать уведомления об ошибках. Если DEBUG=False и приложение вызывает исключение, Django отравить e-mail с информацией об исключении. Каждый элемент кортежа должен быть кортежем формата (Полное имя, e-mail). Например:
(('John', 'john@example.com'), ('Mary', 'mary@example.com'))
Заметим что Django отправит email всем при возникновении ошибки. Подробную информацию смотрите в разделе Error reporting.
По умолчанию: () (Пустой кортеж)
Кортеж, который содержит список допустимых префиксов для аргумента шаблонного тега {% ssi %}. Это мера безопасности, что бы авторы шаблонов не имели доступа ко всем файлам.
Например, если ALLOWED_INCLUDE_ROOTS равна ('/home/html', '/var/www'), тогда {% ssi /home/html/foo.txt %} будет работать, а {% ssi /etc/passwd %} не будет.
По умолчанию: True
Если равна True и запрошенный URL не удовлетворяет ни один URL-шаблон из URLconf и URL не заканчивается слэшом, Django верен HTTP перенаправление на этот же URL но со слэшом в конце. Заметим что такое перенаправление может привести к потере всех данных при POST запросе.
Настройка APPEND_SLASH используется только при использовании CommonMiddleware (смотрите Middleware). Смотрите так же PREPEND_WWW.
По умолчанию: ('django.contrib.auth.backends.ModelBackend',)
Кортеж, который содержит классы бэкэкнда авторизации (строки с путем для импорта), которые используются при аутентификации пользователя. Смотрите раздел о бэкэндах аутентификации.
По умолчанию: Не определена
Модель используемая для хранения дополнительной информации о пользователе. Смотрите Хранение дополнительной информации о пользователях.
По умолчанию:
{
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
}
}
Словарь содержащий настройки для все механизмов кэширования Django используемых в проекте. Словарь содержит псевдонимы кэшей и словарь с настройками для каждого.
CACHES должна определять кэш default и любое количество дополнительных. При определении какого либо кэша кроме кэширования в памяти, вы должны указать дополнительные параметры. Вот полный список доступных настроек.
По умолчанию: '' (Пустая строка)
Бэкэкнд кэширования, который используется. Django предоставляет следующие бэкэнды:
Вы можете использовать сторонние бэкэнды указав в BACKEND путь для импорта класса (например, mypackage.backends.whatever.WhateverCache). Создание собственного бэкэнда кэширования остается в качестве упражнения для читателя, примеры можно найти в исходном коде Django.
Примечание
Для совместимости с Django 1.3 вы можете использовать формат URI при определении бэкэнда кэширования (например, вы можете использовать 'db://tablename' для бэкэнда кэширования в базе данных). Этот формат считается устаревшим и не будет поддерживаться в Django 1.5.
Путь для импорта функции, которая создает конечный ключ кэша из префикса, версии кэша и значения ключа. Функция по умолчанию выглядит следующим образом:
def make_key(key, key_prefix, version):
return ':'.join([key_prefix, str(version), smart_str(key)])
Вы можете использовать любую функцию, которая принимает аналогичные аргументы.
Подробности смотрите в разделе Кэширование.
По умолчанию: '' (Пустая строка)
Строка, которая будет автоматически добавлена (по умолчанию в начало) ко всем ключам кэша используемых Django.
Подробности смотрите в разделе Кэширование.
По умолчанию: '' (Пустая строка)
Расположение используемого кэша. Это может быть путь к каталогу при кэшировании в файле, название хоста и порт для memcache, или просто уникальное название для кэширования в памяти. Например:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
}
}
По умолчанию: None
Дополнительные параметры для бэкэнда кеширования. Доступные параметры зависят от используемого бэкэнда кэширования.
Информацию о дополнительных параметрах можно найти в описании бэкэндов кэширования.
По умолчанию: 1
Значения по умолчанию для версии кэша.
Подробности смотрите в разделе Кэширование.
По умолчанию: default
Подключение к кэшу которое используется кэширующим функциональным слоем(пер. the cache middleware)
По умолчанию: False
Если значение равно True, будут кэшироваться только анонимные запросы (то есть не от авторизированных пользователей). Иначе функциональный слой кэширует все страницы без GET и POST параметров.
Если вы устанавливает значение этой настройки в True, убедитесь что активировали AuthenticationMiddleware.
Смотрите Django’s cache framework.
По умолчанию: '' (Пустая строка)
Префикс ключей кэша, который должен использовать кэширующий функциональный слой(пер. the cache middleware)
Смотрите Django’s cache framework.
По умолчанию: 600
Период в секундах на который кэшируются по умолчанию страницы при использовании кэширующего функционального слоя или декоратора cache_page().
Смотрите Django’s cache framework.
По умолчанию: None
Домен используемый для CSRF cookie. Может быть полезна при настройке кросс-субдоменных запросов. Настройка должна быть равна строке вида ".lawrence.com" что бы разрешить обрабатывать POST запросы из одного субдомена в другой.
Обратите внимание, что установка этой настройки не означает что CSRF защита Django сможет вас защитить от кросс-субдоменных атак - смотрите раздел об ограничениях CSRF.
По умолчанию: 'csrftoken'
Название куки, которая используется для передачи CSRF token. Может быть каким угодно. Смотрите Cross Site Request Forgery protection.
По умолчанию: '/'
Путь(пер. path), который будет использоваться при установке CSRF кук. Путь должен соответствовать URL-у к вашему проекту или быть родительским относительно него.
Эта настройка может быть полезна если вы используете несколько проектов на одном домене. Они могут использовать различные пути для CSRF кук и каждый проект будет видеть только свои куки.
По умолчанию: False
Указывает использовать ли безопасные куки для CSRF. Если равна True, куки будут помечены как “безопасные”, это означает что браузер будет проверять отослана ли кука через HTTPS подключение.
По умолчанию: 'django.views.csrf.csrf_failure'
Путь к функции представления, которое будет использоваться при отклонении запроса при CSRF проверке. Функция должна иметь следующую сигнатуру:
def csrf_failure(request, reason="")
где reason – короткое сообщение (предназначенное для разработчиков или логирования, не для пользователей) описывающее причину отклонения запроса. Смотрите Cross Site Request Forgery protection.
По умолчанию: {} (Пустой словарь)
Словарь содержащий настройки для всех баз данных, которые будут использоваться Django. Словарь содержит псевдонимы используемых баз данных и словарь с настройками для каждой.
Настройка DATABASES должна определять базу данных с псевдонимом default и любое количество дополнительных баз данных.
Самый простой вариант настройки это одна SQLite база данных. Например:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase'
}
}
Для других типов базы данных или более сложной конфигурации для SQLite используются дополнительные параметры. Вот полный список используемых параметров.
По умолчанию: '' (Пустая строка)
Бэкэнд базы данных. Django предоставляет следующие бэкэнды:
Вы можете использовать сторонние бэкэнды указав в ENGINE путь для импорта (например, mypackage.backends.whatever). Создание собственного бэкэнда базы данных остается в качестве упражнения для читателя, примеры можно найти в исходном коде Django.
Примечание
Для совместимости с Django 1.2 вы можете использовать короткие названия для встроенных бэкэндов (например, 'sqlite3' для SQLite). Такой формат устаревший и не поддерживается с Django 1.4.
По умолчанию: '' (Пустая строка)
Имя хоста используемого при подключении к базе данных. Пустая строка подразумевает localhost. Не используется для SQLite.
Если значение начинается с прямого слэша ('/') и используется MySQL, MySQL будет подключаться через Unix сокет к указанному сокету. Например:
"HOST": '/var/run/mysql'
Если вы используете MySQL и значение не начинается с прямого клэша, значение будет использоваться как имя хоста.
Если вы используете PostgreSQL, пустая строка означает использование Unix domain socket для подключения вместо подключения к localhost. Если вам необходимо TCP/IP подключение к локальной машине с PostgreSQL, укажите localhost в этой настройке.
По умолчанию: '' (Пустая строка)
Название используемой базы данных. Для SQLite – это полный путь к файлу базы данных. При указывании пути к файлу, всегда используйте обратные слэшы, даже на Windows (например, C:/homes/user/mysite/sqlite3.db).
По умолчанию: {} (Пустой словарь)
Дополнительные параметры используемые при подключении к базе данных. Доступные параметры зависят от используемого бэкэнда.
Информацию о дополнительных параметрах можно найти в описании Бэкэндов базы данных.
По умолчанию: '' (Пустая строка)
Пароль используемый при подключении к базе данных. Не используется для SQLite.
По умолчанию: '' (Пустая строка)
Порт используемый при подключении к базе данных. Пустая строка подразумевает порт по умолчанию. Не используется для SQLite.
По умолчанию: '' (Пустая строка)
Имя пользователя используемое при подключении к базе данных. Не используется для SQLite.
По умолчанию: None
Кодировка(пер. character set encoding) используемая при создании тестовой базы данных. Значение передается непосредственно в базу данных, так что его формат зависит от используемой базы данных.
Поддерживается PostgreSQL (postgresql_psycopg2) и MySQL (mysql) бэкэндами.
По умолчанию: None
Порядок сортировки(пер. collation order) используемый при создании тестовой базы данных. Значение передается непосредственно в базу данных, так что его формат зависит от используемой базы данных.
Поддерживается только mysql (подробности смотрите в руководстве MySQL).
По умолчанию: ['default'] для всех используемых баз данных кроме default, которая не имеет зависимостей.
Порядок создания баз данных. Подробности смотрите в разделе об управлении созданием тестовых баз данных.
По умолчанию: None
Псевдоним базы данных, которую должна отображать конфигурируемая база данных при тестировании.
Эта настройка предназначена для тестирования master/slave конфигурации нескольких баз данных. Подробности смотрите в разделе о тестировании master/slave конфигурации.
По умолчанию: None
Название базы данных используемой при тестировании.
Если указано значение по умолчанию (None) для SQLite, будет использована база данных в памяти. Для всех остальных баз данных будет использоваться 'test_' + DATABASE_NAME.
Смотрите Тестирование приложений Django.
По умолчанию: True
Эта настройка используется Oracle.
Если равно False, табличное пространство(пер. tablespace) не будет создано на время выполнения тестов.
По умолчанию: None
Эта настройка используется Oracle.
Имя пользователя, которое будет использоваться Oracle при подключении к базе данных во время выполнения тестов. Если не указано, Django будет использовать 'test_' + USER.
По умолчанию: True
Эта настройка используется Oracle.
При False тестовый пользователь не будет создаваться на время выполнения тестов.
По умолчанию: None
Эта настройка используется Oracle.
Пароль, который будет использоваться Oracle при подключении к базе данных во время выполнения тестов. Если значение не установлено Django будет использовать “захардкоденое” значение по умолчанию.
По умолчанию: None
Эта настройка используется Oracle.
Название табличного пространства(пер. tablespace), которое будет использоваться во время выполнения тестов. Если не указано, Django будет использовать 'test_' + NAME.
По умолчанию: None
Эта настройка используется Oracle.
Название временного табличного пространства(пер. temporary tablespace), которое будет использоваться во время выполнения тестов. Если не указано, Django будет использовать 'test_' + NAME + '_temp'.
По умолчанию: [] (Пустой список)
Список маршрутизаторов(пер. routers), которые будут использоваться для определения какую базу данных использовать при выполнении запроса.
Подробности смотрите в разделе Автоматическая маршрутизация при использовании нескольких баз данных.
По умолчанию: 'N j, Y' (например, Feb. 4, 2003)
Формат по умолчанию для отображение значений полей даты в любой части системы. Заметим, если USE_L10N равна True, будет использоваться формат даты текущей локали, если он указан в файлах локализации. Формат значения смотрите в описании фильтра date.
Смотрите так же DATETIME_FORMAT, TIME_FORMAT и SHORT_DATE_FORMAT.
По умолчанию:
('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y',
'%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y',
'%B %d, %Y', '%d %B %Y', '%d %B, %Y')
Кортеж содержащий форматы даты, которые доступны в поле даты формы. Форматы проверяются в указанном порядке, используется первый подходящий. Заметим что эти строки используют формат datetime Python, а не формат шаблонного тега date.
При USE_L10N равном True, формат даты текущей локали имеет больший приоритет.
Смотрите так же DATETIME_INPUT_FORMATS и TIME_INPUT_FORMATS.
По умолчанию: 'N j, Y, P' (например Feb. 4, 2003, 4 p.m.)
Формат по умолчанию для отображение значений полей даты и времени в любой части системы. Заметим, если USE_L10N равна True, будет использоваться формат даты текущей локали, если он указан в файлах локализации. Формат значения смотрите в описании фильтра date.
Смотрите так же DATETIME_FORMAT, TIME_FORMAT и SHORT_DATETIME_FORMAT.
По умолчанию:
('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d',
'%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M', '%m/%d/%Y',
'%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', '%m/%d/%y')
Кортеж содержащий форматы даты, которые доступны в поле даты и времени формы. Форматы проверяются в указанном порядке, используется первый подходящий. Заметим что эти строки используют формат datetime Python, а не формат шаблонного тега date.
При USE_L10N равном True, формат даты текущей локали имеет больший приоритет.
Смотрите так же DATE_INPUT_FORMATS и TIME_INPUT_FORMATS.
По умолчанию: False
Включает/выключает режим отладки.
Никогда не включайте DEBUG на “боевом” сервере.
Вы уловили это? НИКОГДА не устанавливайте проект на “боевом” сервере с включенным DEBUG.
Одна из особенностей режима отладки – отображение подробной страницы с ошибкой. Если ваше приложение вызывает исключение при DEBUG равном True, Django покажет подробную отладочную информацию включая различные мета-данные об окружении, такие как настройки проекта (из settings.py).
В целях безопасности Django не включает небезопасные настройки, такие как SECRET_KEY или PROFANITIES_LIST. В том числе не отображаются настройки, которые содержат в названии следующее:
- API
- KEY
- PASS
- PROFANITIES_LIST
- SECRET
- SIGNATURE
- TOKEN
We changed 'PASSWORD' 'PASS'. 'API', 'TOKEN' and 'KEY' were added.
Заметим, учитывается частичное совпадение. 'PASS' учитывает PASSWORD, также как и 'TOKEN' учитывает TOKENIZED и так далее.
Помните, что в любом случае страница с ошибкой будет содержать небезопасные данные при включенном режиме отладки. Пути к различным файлам, настройки и другая информация будет доступна для желающих атаковать ваш сайт.
Также при включенном DEBUG, Django запоминает каждый выполненный SQL запрос. Это полезно при отладке, но на сервере может занять много памяти.
По умолчанию: False
При True стандартная обработка исключений в Django не будет использована и исключение будет “передано далее”. Это может быть полезным при разработке но не должно быть использовано на “боевом” сервере.
По умолчанию: '.' (Точка)
Десятичный разделитель, который используется при форматировании десятичных чисел.
Заметим, при USE_L10N равном True будет использовано значение из настроек локали.
Смотрите так же NUMBER_GROUPING, THOUSAND_SEPARATOR и USE_THOUSAND_SEPARATOR.
По умолчанию: 'utf-8'
Кодировка, которая используется по умолчанию для объектов HttpResponse если MIME-тип не указан явно. Используется вместе с DEFAULT_CONTENT_TYPE при установке заголовка Content-Type.
По умолчанию: 'text/html'
Тип содержимого(пер. content type) , которай используется по умолчанию для объектов HttpResponse если MIME-тип не указан явно. Используется вместе с DEFAULT_CHARSET при установке заголовка Content-Type.
По умолчанию: django.views.debug.SafeExceptionReporterFilter
Класс фильтра отчета об ошибке, который будет использоваться если не установлен другой для объекта HttpRequest. Смотрите Фильтрация отчетов об ошибке.
По умолчанию: django.core.files.storage.FileSystemStorage
Класс хранилища файлов(пер. file storage), который будет использоваться по умолчанию для всех операций с файлами, если не используется конкретное файловое хранилище. Смотрите Managing files.
По умолчанию: 'webmaster@localhost'
Электронный адрес, который будет использовать при отправке писем от имени менеджера сайта.
По умолчанию: '' (Пустая строка)
Табличное пространство(пер. tablespace) используемое для индексов полей, которые не указывают явно значение. Используется если база данных поддерживает их (смотрите Tablespaces).
По умолчанию: '' (Пустая строка)
Табличное пространство(пер. tablespace) используемое для моделей, которые не указывают явно значение. Используется если база данных поддерживает их (смотрите Tablespaces).
По умолчанию: () (Пустой кортеж)
Список скомпилированных регулярных выражений, которые используются при фильтрации заголовка User-Agent для запрета доступа ко всем страницам сайта. Используйте для блокировки роботов/сканеров. Используется только при включенном CommonMiddleware (смотрите Middleware).
По умолчанию: 'django.core.mail.backends.smtp.EmailBackend'
Бэкэнд используемый для отправки электронных писем. Список доступных бэкэндов смотрите в разделе Sending email.
По умолчанию: Не определена
Каталог используемый файловым бэкэндом для отправки электронных писем.
По умолчанию: 'localhost'
Имя хоста используемое для отправки электронных писем.
Смотрите так же EMAIL_PORT.
По умолчанию: '' (Пустая строка)
Пароль для подключения к SMTP сервера, который указан в EMAIL_HOST. Эта настройка используется вместе с EMAIL_HOST_USER для авторизации при подключении к SMTP серверу. Если эти настройки пустые, Django будет подключаться без авторизации.
Смотрите так же EMAIL_HOST_USER.
По умолчанию: '' (Пустая строка)
Имя пользователя используемое при подключении к SMTP серверу указанному в EMAIL_HOST. Если не указано, Django не будет выполнять авторизацию.
Смотрите так же EMAIL_HOST_PASSWORD.
По умолчанию: 25
Порт используемый при подключении к SMTP серверу указанному в EMAIL_HOST.
По умолчанию: '[Django] '
Префикс добавляемый к теме электронного письма отправленного функциями django.core.mail.mail_admins или django.core.mail.mail_managers. Возможно вы заходите добавить пробелы в конце.
По умолчанию: 'utf-8'
Кодировка используемая при декодировании файлов прочитанных с файловой системы. Это включает файлы шаблонов и инициализирующие SQL файлы.
По умолчанию:
("django.core.files.uploadhandler.MemoryFileUploadHandler",
"django.core.files.uploadhandler.TemporaryFileUploadHandler",)
Кортеж обработчиков используемых при загрузке файлов. Подробности смотрите в Managing files.
По умолчанию: 2621440 (то есть 2.5 MB).
Максимальный размер (в байтах) загруженного файла, который будет храниться в памяти, а не сохраняться в файловой системе. Подробности смотрите Managing files.
По умолчанию: None
Права доступа в цифровом виде (то есть 0644) которые назначаются новым загруженным файлам. Подробную информацию смотрите в описании функции os.chmod().
Если значение равно None, поведение будет зависеть от операционной системы. На большинстве платформ временные файлы создаются с правами 0600.
Предупреждение
Это значение всегда должно начинаться с 0.
Если вы не знакомы с правами доступа, обратите внимание что 0 очень важен: он означает восьмеричное число, которыми определяются права доступа. Если вы будете использовать 644, все будет работать не правильно.
По умолчанию: None
Каталог используемый для загрузки временных файлов. Если None, Django будет использовать стандартный каталог временных файлов используемой операционной системы. Например, для *nix-систем это ‘/tmp’.
Подробности смотрите Managing files.
По умолчанию: 0 (Воскресение)
Число указывающее первый день недели. Используется при отображении календаря. Это значение используется если не найдено значение используемой локали.
Значение должно быть целым числом от 0 до 6, где 0 означает Воскресение, 1 означает Понедельник.
По умолчанию: () (Пустой кортеж)
Список каталогов, в которых происходит поиск фикстур в дополнение к каталогам fixtures в приложениях.
Заметим что эти пути должны использовать прямые слэши, то есть быть в Unix-стиле а не Windows.
Смотрите Providing initial data with fixtures и Fixture loading.
По умолчанию: None
Если не None, будет использоваться как значение переменной окружения SCRIPT_NAME при HTTP запросе. Это значение может использоваться для переопределения значения переменной SCRIPT_NAME предоставленного сервером.
По умолчанию: None
Полный Python путь для импорта Python пакета, который содержит определение форматов для локалей. Если не None, Django попытается найти файл formats.py в каталогах с названием текущей локали и использовать форматы определенные в этом файле.
Например, если FORMAT_MODULE_PATH равна mysite.formats и текущая локаль en (Англиский), Django будет искать следующий каталог:
mysite/
formats/
__init__.py
en/
__init__.py
formats.py
Доступные форматы: DATE_FORMAT, TIME_FORMAT, DATETIME_FORMAT, YEAR_MONTH_FORMAT, MONTH_DAY_FORMAT, SHORT_DATE_FORMAT, SHORT_DATETIME_FORMAT, FIRST_DAY_OF_WEEK, DECIMAL_SEPARATOR, THOUSAND_SEPARATOR и NUMBER_GROUPING.
По умолчанию: ()
Список скомпилированных регулярных выражений, которые соответствуют URL-ам, для которых не должны отсылаться письма о 404 ошибках (смотрите Error reporting). Вы можете использовать эту настройку если ваш проект не содержит обычно запрашиваемые файлы, такие как favicon.ico или robots.txt, или если кто-то натравил на ваш сайт скрипт(пер. hammered by script kiddies).
Используется только если SEND_BROKEN_LINK_EMAILS равен True и установлено CommonMiddleware (смотрите Middleware).
По умолчанию: () (Пустой кортеж)
Кортеж строк, который указывают не все приложения Django используемые в проекте. Каждая строка должна быть полным Python путем к пакету Python, который содержит Django приложение. Такой пакет можно создать командой django-admin.py startapp.
App names must be unique
Название приложение (название пакета в котором находится models.py, а не полный путь) указанного в INSTALLED_APPS должно быть уникальным. Например, вы не можете использовать django.contrib.auth и myproject.auth в INSTALLED_APPS.
По умолчанию: () (Пустой кортеж)
Кортеж IP адресов, в виде строк, которые:
Видят отладочную информацию, при DEBUG равном True
Получают X заголовки при использовании XViewMiddleware (смотрите Middleware)
По умолчанию: 'en-us'
Код используемого в проекте языка. Должен соответствовать формату сокращений названий языков. Например, U.S. English обозначается как "en-us". Смотрите Интернационализация и локализация.
По умолчанию: 'django_language'
Название куки которая используется для хранения текущего языка. Может принимать какое угодно значение (но не должно совпадать с SESSION_COOKIE_NAME). Смотрите Интернационализация и локализация.
По умолчанию: Кортеж всех доступных языков. Этот список постоянно растет по этому мы не приводим здесь значение. Текущий список вы можете посмотреть в файле django/conf/global_settings.py (или посмотреть исходный код онлайн).
Кортеж содержит двухэлементные кортежи формата (код языка, название языка), код языка должен быть в формате сокращенного обозначения языков – например, ('ja', 'Japanese'). Эта настройка указывает доступные для выбора языки. Смотрите Интернационализация и локализация.
В большинстве случаев значение по умолчанию подойдет для большинства проектов. Используйте эту значению если хотите ограничить доступные для проекта языки.
Если вы определяете настройку LANGUAGES, следует обозначить название языка как переводимую строку (как в значение по умолчанию упомянутом выше) – но используйте “функцию-заглушку” gettext(), а не из модуля django.utils.translation. Вы никогда не должны импортировать django.utils.translation в файле настроек, так как этот модуль использует настройки что в результате приведет к циклическому импорту.
Вот пример значения настройки:
gettext = lambda s: s
LANGUAGES = (
('de', gettext('German')),
('en', gettext('English')),
)
С таким значением, django-admin.py makemessages найдет добавит эти строки в файл перевода, но перевод не будет выполняться при импорте настроек – по этому вам следует использовать настоящую функцию gettext() при использовании значения LANGUAGES.
По умолчанию: () (Пустой кортеж)
Кортеж каталогов в которых Django ищет файлы перевода. Смотрите How Django discovers translations.
Например:
LOCALE_PATHS = (
'/home/www/project/common_files/locale',
'/var/local/translations/locale'
)
Обратите внимание на путь к каталогу, если вы используете стандартную структуру /path/to/locale/xx/LC_MESSAGES, укажите путь к каталогу locale (например '/path/to/locale').
По умолчанию: Словарь конфигурации логирования.
Структура данных, которая определяет конфигурацию логирования. Содержимое будет передано в метод настройки логирования указанный в LOGGING_CONFIG.
Настройки по умолчанию отсылает все HTTP 500 ошибки на email администратору; все остальные сообщения передаются в NullHandler.
По умолчанию: 'django.utils.log.dictConfig'
Путь для импорта функции, которая используется для настройки логирования в проекте. Указывает на метод объекта Python dictConfig.
Если LOGGING_CONFIG равно None, настройки логирования не будет выполняться.
По умолчанию: '/accounts/profile/'
URL куда перенаправляется пользователь поле авторизации пользователя в представлении contrib.auth.login, если не передан параметр next.
Используется декоратором login_required(), например.
Примечание
Вы можете использовать reverse_lazy() что бы указать URL через название URL-шаблона вместо явного значения. Предположим у нас есть следующий urls.py:
urlpatterns = patterns('',
url('^welcome/$', 'test_app.views.home', name='home'),
)
Вы можете использовать reverse_lazy() следующим образом:
from django.core.urlresolvers import reverse_lazy
LOGIN_REDIRECT_URL = reverse_lazy('home')
Работается так же с локализированными URL-ми при использовании i18n_patterns().
По умолчанию: '/accounts/login/'
URL, на который перенаправляются пользователи для авторизации, особенно при использовании декоратора login_required().
Примечание
По умолчанию: () (Пустой кортеж)
Кортеж по формату аналогичен ADMINS, который определяет кто получает оповещение о “сломанных” ссылках при SEND_BROKEN_LINK_EMAILS=True.
По умолчанию: '' (Пустая строка)
Абсолютный путь к каталогу, в котором хранятся медиа-файлы, используется для работы с файлами.
Например: "/home/media/media.lawrence.com/"
Смотрите MEDIA_URL.
По умолчанию: '' (Пустая строка)
URL который указывает на каталог MEDIA_ROOT, используется для работы с файлами.
Например: "http://media.lawrence.com/"
Например: messages.INFO
Определяет минимальный уровень сообщений, которые будут сохраняется фремверком сообщений. Смотрите документацию о фреймверке сообщений.
По умолчанию: 'django.contrib.messages.storage.user_messages.LegacyFallbackStorage'
Указывает Django как сохранять сообщения. Смотрите документацию о фреймверке сообщений.
По умолчанию:
{messages.DEBUG: 'debug',
messages.INFO: 'info',
messages.SUCCESS: 'success',
messages.WARNING: 'warning',
messages.ERROR: 'error',}
Определяет соответствие уровня сообщений и тегов сообщений. Смотрите документацию о фреймверке сообщений.
По умолчанию:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',)
Кортеж, который состоит из путей для импорта используемых функциональных слоев(пер. middleware). Смотрите Middleware.
По умолчанию: 'F j'
Формат по умолчанию для полей даты при отображении значении в интерфейсе администратора Django и, возможно, в других частях системы в случае, если отображается только месяц и день.
Например, если отфильтровать страницу списка объектов в интерфейсе администратора по дате, название страницы будет содержать месяц и день. Различные локали содержат различные форматы даты. Например, для U.S. English будет отображаться “January 1,” для Spanish - “1 Enero.”
Смотрите доступные форматы. Также смотрите DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и YEAR_MONTH_FORMAT.
По умолчанию: 0
Количество цифр для группирования в целочисленной части числа.
Используется для разделителя тысяч при отображении чисел. При 0, цифры не будут группироваться. Если значение больше 0, THOUSAND_SEPARATOR будет использоваться как разделитель.
Заметим, при USE_L10N равном True будет использовано значение из настроек локали.
Смотрите так же DECIMAL_SEPARATOR, THOUSAND_SEPARATOR и USE_THOUSAND_SEPARATOR.
По умолчанию: 3
Количество дней, в течении которых действует ссылка для сброса пароля. Используется модулем django.contrib.auth.
По умолчанию: False
Указывает добавлять ли поддомен “www.” к URL-у, если он не содержит его. Работает только при использовании CommonMiddleware`(смотрите :doc:/topics/http/middleware`). Смотрите так же APPEND_SLASH.
По умолчанию: () (Пустой кортеж)
Кортеж содержащий ругательства, которые будут запрещены при COMMENTS_ALLOW_PROFANITIES равном False.
По умолчанию: {}
Словарь настроек для фильтра restructuredtext из django.contrib.markup application. Переопределяют настройки по умолчанию. Подробности смотрите в документацию Docutils restructuredtext<http://docutils.sourceforge.net/docs/user/config.html#html4css1-writer>.
По умолчанию: Не определена
Путь для импорта Python модуля с главной конфигурацией URL-ов. Например: "mydjangoapps.urls". Может быть переопределена для конкретного запроса изменив атрибут urlconf объекта HttpRequest. Подробности смотрите в Как Django обрабатывает запрос.
По умолчанию: '' (Пустая строка)
Секретный ключ проекта. Используется как “соль” для алгоритмов хеширования. Укажите случайную строку – чем длиннее, тем лучше. django-admin.py startproject генерирует значение автоматически.
По умолчанию: None
Кортеж из комбинаций HTTP заголовка/значения, которые определяют зашифрован ли запрос. Влияет на работу методы is_secure() объекта запроса.
Это требует некоторых пояснений. По умолчанию is_secure() определяет безопасный ли запрошенный URL по “https://”.
Если приложение Django находится за прокси, который использует не HTTPS соединение к проекту, будут утеряны данные о том, что запрос зашифрованный. В этом случае is_secure() всегда будет возвращать False – даже для запросов сделанных через HTTPS.
В таком случае вам необходимо настроить прокси таким образом, что бы добавлялись специальные HTTP заголовки для защищенных запросов, которые вы укажите в SECURE_PROXY_SSL_HEADER чтобы Django мог определить защищенный запрос или нет.
Необходимо указать кортеж из двух элементов – название заголовка и значение. Например:
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https')
В этом примере мы указываем Django, что можно доверять заголовку X-Forwarded-Protocol пришедшему от прокси, и при значении 'https' считать запрос защищенным (то есть он выполнен через HTTPS). Очевидно, что вы должны использовать эту настройку только если контролируете и доверяете прокси-серверу.
Название заголовка должно быть в формате используемом request.META – в верхнем регистре и начинаться с HTTP_. (Помните, Django автоматически добавляет 'HTTP_' в начале к названию x-заголовка передо добавлением его в request.META.)
Предупреждение
Возможно вы создадите уязвимость если будете использовать эту настройку не понимая как все работает. Будьте осторожны.
Убедитесь что ВСЕ следующие условия верны перед тем как использовать эту настройку(предполагая что используется значение из примера выше):
Проект находиться за прокси-сервером.
Прокси удаляет ‘X-Forwarded-Protocol’ заголовок из приходящих запросов. Другими словами пользователь не сможет подделать защищенный запрос указав заголовок ‘X-Forwarded-Protocol’.
Прокси устанавливает заголовок ‘X-Forwarded-Protocol’ и передает Django, но только для запросов через HTTPS.
Если одно из условий не соблюдено, установите значение настройки в None и найдите другой способ определить используется ли HTTPS, возможно через функциональный слой(пер. middleware).
По умолчанию: False
Отсылать ли email менеджерам указанным в MANAGERS каждый раз, когда кто-то посещает URL обрабатываемый Django и вернувший 404, и если “referer” не пустой (то есть при поломанной ссылке). Используется только при установленном ``CommonMiddleware``(смотрите Middleware). Смотрите так же IGNORABLE_404_URLS и Error reporting.
По умолчанию: Не определа.
Словарь указывающий модули реализующие различные форматы сериализации данных(пер. serializer) (строка с путем для импорта). Например, что бы определить сериализатор для YAML формата, используйте:
SERIALIZATION_MODULES = { 'yaml' : 'path.to.yaml_serializer' }
По умолчанию: 'root@localhost'
Email адрес используемый в качестве адреса отправителя для писем с ошибками, которые отсылаются на адреса указание в ADMINS и MANAGERS.
По умолчанию: 1209600 (2 недели в секундах)
Время хранения сесионной куки. Смотрите How to use sessions.
По умолчанию: None
Домен используемый для сессионных кук. Используйте строку, например ".lawrence.com", для кросдоменних кук, или используйте None для стандартного домена. Смотрите How to use sessions.
По умолчанию: False
Использовать ли флаг HTTPOnly для сессионной куки. Если установлена в True, JavaScript в браузере не будет иметь доступ к сессионной куке.
HTTPOnly – флаг добавляемый в HTTP заголовок, который устанавливает куки. Он не является частью стандарта для куки RFC 2109 и поддерживается не всеми браузерами. Однако, если он поддерживается, может помочь ограничить доступ клиентских скриптов к сессионным кукам.
По умолчанию: 'sessionid'
Название для сессионной куки. Может быть каким угодно (но не совпадать с LANGUAGE_COOKIE_NAME). Смотрите How to use sessions.
По умолчанию: '/'
Путь(пер. path), который будет использоваться при установке сессионной куки. Путь должен соответствовать URL-у к вашему проекту или быть родительским относительно него.
Эта настройка может быть полезна если вы используете несколько проектов на одном домене. Они могут использовать различные пути для сессионных кук и каждый проект будет видеть только свою сессионные куку.
По умолчанию: False
Использовать ли безопасные сессионные куки. При True, кука будет помечена как “безопасная” указывая браузеру, что кука может передаваться только через HTTPS соединение. Смотрите How to use sessions.
По умолчанию: django.contrib.sessions.backends.db
Указывает где Django хранит сесионные данные. Возможные значения:
Смотрите How to use sessions.
По умолчанию: False
Указывает истекает ли сессия после закрытия браузера. Смотрите How to use sessions.
По умолчанию: None
Если вы используете файловое хранилище сессионных данных, эта настройка укажет Django каталог, в котором хранить данные. Смотрите How to use sessions. Если используется значение по умолчанию (None), Django будет использовать стандартный каталог для временных файлов вашей операционной системы.
По умолчанию: False
Сохранять ли сесионные данные при каждом запросе. Смотрите How to use sessions.
По умолчанию: m/d/Y (например 12/31/2003)
Формат используемый при отображении даты в шаблоне. . Заметим, если USE_L10N равна True, tбудет использоваться формат даты текущей локали, если он указан в файлах локализации. Формат значения смотрите в описании фильтра date.
Смотрите так же DATE_FORMAT и SHORT_DATETIME_FORMAT.
По умолчанию: m/d/Y P (например 12/31/2003 4 p.m.)
Формат используемый при отображении даты-времени в шаблоне. . Заметим, если USE_L10N равна True, tбудет использоваться формат даты текущей локали, если он указан в файлах локализации. Формат значения смотрите в описании фильтра date.
Смотрите также DATE_FORMAT и SHORT_DATE_FORMAT.
По умолчанию: ‘django.core.signing.TimestampSigner’
Бэкэнд используемый для подписанных кук и других данных.
Смотрите так же Криптографическая подпись.
По умолчанию: Не определена
ID(число) текущего сайта в таблице django_site базы данных. Используется для привязки данных к конкретному сайту, что позволяет использовать один установленный проект для нескольких сайтов.
Смотрите The “sites” framework.
По умолчанию: '' (Пустая строка)
Абсолютный путь к каталогу, в который collectstatic соберет все статические файлы.
Например: "/home/example.com/static/"
Если используется стандартное приложение staticfiles (по умолчанию), команда collectstatic соберет все статические файлы в указанном каталоге. Подробности смотрите в разделе о работе со статическими файлами.
Предупреждение
Это должен быть каталог(изначально пустой), куда будут скопированы все статические файлы для более простой настройки сервера; это не каталог, в котором вы создаете статические файлы при разработке. Вы должны создавать статические файлы в каталогах, которые будут найдены модулями поиска статических файлов, это каталоги 'static/' в приложениях и каталоги указанные в STATICFILES_DIRS.
Смотрите раздел о работе со статическим файлами и STATIC_URL.
По умолчанию: None
URL указывающий на каталог со статическими файлаи STATIC_ROOT.
Например: "/site_media/static/" или "http://static.example.com/"
Если не равен None, будет использовать как базовый путь при определении “media” файлов и приложением staticfiles.
Должна оканчиваться слэшом, если не пустая.
Смотрите STATIC_ROOT.
По умолчанию:
("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages")
Кортеж из функций, которые используются для добавления переменных в RequestContext. Функция принимает объект запроса и возвращает словарь с данными, которые будут добавлены в контекст.
По умолчанию: False
Включает/выключает режим отладки в шаблонах. При True, для ошибок возникших при выполнении шаблона, будет показана страница с отладочной информацией.
Заметим что Django отображает страницу с ошибкой только при DEBUG равном True, вы можете безопасно использовать эту настройку.
Смотрите DEBUG.
По умолчанию: () (Пустой кортеж)
Список каталогов, в которых будут искаться файлы шаблонов при вызове django.template.loaders.filesystem.Loader в указанном порядке.
Заметим что эти пути должны использовать прямые слэши, то есть быть в Unix-стиле а не Windows.
Смотрите Язык шаблонов Django.
По умолчанию:
('django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader')
Кортеж из классов-загрузчиков шаблонов, указанных путями для импорта. Каждый класс Loader знает как загрузить шаблоны из определенного источника. Вместо строки может использовать кортеж. Первым элементом должен быть модуль Loader-а, последующие элементы будут переданы при инициализации объекта Loader. Смотрите The Django template language: For Python programmers.
По умолчанию: '' (Пустая строка)
Значение, строка, которое будет выводиться в шаблоне для неверных переменных (например, отсутствующих в контексте). Смотрите How invalid variables are handled..
По умолчанию: 'django.test.simple.DjangoTestSuiteRunner'
Название класса используемого для запуска тестирования. Смотрите Тестирование приложений Django.
По умолчанию: , (Comma)
Тысячный разделитель используемый при форматировании чисел. Используется только при USE_THOUSAND_SEPARATOR равном True и если NUMBER_GROUPING больше чем 0.
Заметим, при USE_L10N равном True будет использовано значение из настроек локали.
Смотрите так же NUMBER_GROUPING, DECIMAL_SEPARATOR и USE_THOUSAND_SEPARATOR.
По умолчанию: 'P' (например, 4 p.m.)
Формат по умолчанию для отображение значений полей времени в любой части системы. Заметим, если USE_L10N равна True, будет использоваться формат даты текущей локали, если он указан в файлах локализации. Формат значения смотрите в описании фильтра date.
Смотрите так же DATE_FORMAT и DATETIME_FORMAT.
По умочланию: ('%H:%M:%S', '%H:%M')
Кортеж содержащий форматы времени, которые будут приниматься при вводе значения в поле времени. Форматы будут проверяться по порядку, будет использован первый подходящий. Заметим что используется синтаксис модуля Python datetime, не формат строки для шаблонного тега date.
При USE_L10N равном True, формат даты текущей локали имеет больший приоритет.
Смотрите так же DATE_INPUT_FORMATS и DATETIME_INPUT_FORMATS.
По умолчанию: 'America/Chicago'
Строка указывающая на используемый проектом часовой пояс, или None. Возможные варианты. (Заметим что список возможных вариантов может содержать несколько значений для одного часового пояса; используйте только одно из указанных значений. Например, в строке указано 'Europe/London GB GB-Eire', но вам следует использовать первое значение – 'Europe/London' – в качестве значения настройки TIME_ZONE.)
Заметим что указанный часовой пояс не обязана совпадать с часовым поясом сервера. Например, один сервер может обслуживать несколько Django-проектов, каждый может использовать свой часовой пояс.
Если USE_TZ равна False, Django будет использовать указанный часовой пояс при сохранении времени. При USE_TZ равной True, указанный часовой пояс будет использовать по умолчанию при отображении даты в шаблоне и при интерпретации введенных через форму значений.
Django устанавливает переменной os.environ['TZ'] значение указанное в настройке TIME_ZONE. Таким образом все ваши представления и модели будут использовать один и тот же часовой пояс. Однако, Django не установит значение переменной окружения TZ при следующих обстоятельствах:
При ручной конфигурации настроек как описано в соответствующем разделе, или
При TIME_ZONE = None. Django будет использовать системный часовой пояс.
Если Django не определяет переменную окружения TZ, вы должны самостоятельно убедится, что ваш код выполняется в правильном окружении.
Примечание
Django не может обеспечить надежное использование различных временных зон для Windows. При использовании Windows TIME_ZONE должна быть равна системному часовому поясу.
По умолчанию: Django/<version> (https://www.djangoproject.com/)
Значение используемое для заголовка User-Agent при проверки существования URL (смотрите описание параметра verify_exists для URLField). Эта настройка устарела с версии 1.3.1 как и verify_exists, и будет удалена в 1.4.
По умолчанию: False
Указывает использовать ли заголовок “Etag”. Улучшает пропускную способность сервера, но уменьшает производительность. Используется CommonMiddleware (смотрите Middleware) и``Cache Framework`` (смотрите Django’s cache framework).
По умолчанию: True
Указывает используется ли механизм перевода Django. Позволяет легко отключить его для повышения производительности. При False, Django выполнит небольшую оптимизацию что бы не загружать механизм перевода.
Смотрите LANGUAGE_CODE, USE_L10N и USE_TZ.
По умолчанию: False
Указывает использовать ли локализованный формат даты. При True, например, Django будет отображать числа и даты в формате текущей локали.
Смотрите так же LANGUAGE_CODE, USE_I18N и USE_TZ.
Примечание
По умолчанию файл settings.py созданный django-admin.py startproject содержит USE_L10N = True.
По умолчанию: False
Указывает использовать ли разделитель тысяч при отображении чисел. При USE_L10N равном True и если эта настройка равна True, Django будет использовать значения THOUSAND_SEPARATOR и NUMBER_GROUPING при форматировании чисел.
Смотрите так же DECIMAL_SEPARATOR, NUMBER_GROUPING и THOUSAND_SEPARATOR.
По умолчанию: False
Указывает используется ли часовой пояс. Пот True, Django будет использовать объекты даты и времени с указанным часовым поясом. Иначе Django будет использовать объекты даты и времени без учета часового пояса.
Смотрите так же TIME_ZONE, USE_I18N и USE_L10N.
Примечание
По умолчанию файл settings.py созданный django-admin.py startproject содержит USE_LTZN = True.
По умолчанию: False
Указывает использовать ли заголовок X-Forwarded-Host как более приоритетный чем Host. Включать только при использовании прокси, который устанавливает этот заголовок.
По умолчанию: None
Полный Python путь к объекту WSGI приложения, которое будет использовать встроенными серверами Django (например runserver). Команда django-admin.py startproject создаст простой wsgi.py файл с функцией application, и установит значение этой настройки на этот объект application.
Если не указана, будет использовать результат выполнения django.core.wsgi.get_wsgi_application(). В этом случае поведение runserver будет аналогичным предыдущим версиям Django.
По умолчанию: 'F Y'
Формат по умолчанию для полей даты при отображении значении в интерфейсе администратора Django и, возможно, в других частях системы в случае, если отображается только год и месяц.
Например, если отфильтровать страницу списка объектов в интерфейсе администратора по месяцу, название страницы будет содержать год и месяц. Различные локали содержат различные форматы даты. Например, для U.S. English будет отображаться “January 2006”, в то время как для другой локали это может быть - “2006/January”.
Смотрите доступные форматы. Также смотрите DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и MONTH_DAY_FORMAT.
По умолчанию: 'SAMEORIGIN'
Значение по умолчанию для заголовка X-Frame-Options используемого XFrameOptionsMiddleware. Смотрите раздел о clickjacking защите.
Не рекомендуется, начиная с версии 1.4: This setting has been obsoleted by the django.contrib.staticfiles app integration. See the Django 1.4 release notes for more information.
Не рекомендуется, начиная с версии 1.4: This setting has been superseded by IGNORABLE_404_URLS.
Не рекомендуется, начиная с версии 1.4: This setting has been superseded by IGNORABLE_404_URLS.
Mar 30, 2016