Настройки проекта

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

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

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

Это список основных настроек Django и их значений по умолчанию. Настройки стандартных приложений можно найти ниже.

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 и приложение вызывает исключение, Django отравить e-mail с информацией об исключении. Каждый элемент кортежа должен быть кортежем формата (Полное имя, e-mail). Например:

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

Заметим, что Django отправит email всем при возникновении ошибки. Подробную информацию смотрите в разделе Отчёты об ошибках.

ALLOWED_HOSTS

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

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

Список может содержать полное имя домена (например 'www.example.com'), тогда значение заголовка Host будет сравниваться с этим значением (проверка без учета регистра и порта). Значение для проверки и поддоменов: '.example.com', удовлетворяет example.com, www.example.com``и всем поддоменам ``example.com. Значение '*' принимает все значения, в этом случае вы сами должны проверять заголовок Host (возможно в middleware, при этом укажите его в MIDDLEWARE_CLASSES).

Примечание

Если вы хотите также разрешить полностью определённые имена доменов (FQDN), которые отсылают некоторые браузеры в заголовке Host, вы должны явно указать их в ALLOWED_HOSTS. Они могут содержать “wildcard”:

ALLOWED_HOSTS = [
    '.example.com', # Allow domain and subdomains
    '.example.com.', # Also allow FQDN and subdomains
]

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

При DEBUG равном True и при выполнении тестов проверка отключена. Проверка обычно нужна только на боевом сервере.

Проверка выполняется только в методе get_host(), если вы используете значение заголовка Host непосредственно из request.META, проверка не будет выполнена.

ALLOWED_INCLUDE_ROOTS

По умолчанию: () (Пустой кортеж)

Кортеж, который содержит список допустимых префиксов для аргумента шаблонного тега {% ssi %}. Это мера безопасности, чтобы авторы шаблонов не имели доступа ко всем файлам.

Например, если ALLOWED_INCLUDE_ROOTS равна ('/home/html', '/var/www'), тогда {% ssi /home/html/foo.txt %} будет работать, а {% ssi /etc/passwd %} не будет.

APPEND_SLASH

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

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

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

CACHES

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

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

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

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

BACKEND

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

Бэкэкнд кэширования, который используется. Django предоставляет следующие бэкэнды:

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

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

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

Количество секунд до устаревания записи кэша.

VERSION

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

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

Подробности смотрите в разделе Кэширование.

CACHE_MIDDLEWARE_ALIAS

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

Подключение к кэшу которое используется кэширующим функциональным слоем(пер. the cache middleware)

CACHE_MIDDLEWARE_ANONYMOUS_ONLY

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

Deprecated in Django 1.6:

Не рекомендуется, начиная с версии 1.6: This setting was largely ineffective because of using cookies for sessions and CSRF. See the Django 1.6 release notes for more information.

Если значение равно True, будут кэшироваться только анонимные запросы (то есть не от авторизированных пользователей). Иначе функциональный слой кэширует все страницы без GET и POST параметров.

Если вы устанавливает значение этой настройки в True, убедитесь что активировали AuthenticationMiddleware.

CACHE_MIDDLEWARE_KEY_PREFIX

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

Префикс ключей кэша, который должен использовать кэширующий функциональный слой(пер. the cache middleware)

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

CACHE_MIDDLEWARE_SECONDS

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

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

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

CSRF_FAILURE_VIEW

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

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

def csrf_failure(request, reason="")

где reason – короткое сообщение (предназначенное для разработчиков или логирования, не для пользователей) описывающее причину отклонения запроса. Смотрите Cross Site Request Forgery protection.

DATABASES

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

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

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

Самый простой вариант настройки это одна SQLite база данных. Например:

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

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

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

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

ATOMIC_REQUESTS

New in Django 1.6.

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

Установите в True чтобы каждый HTTP запрос выполнялся в отдельной транзакции. Смотрите Привязка транзакций к HTTP запросам.

AUTOCOMMIT

New in Django 1.6.

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

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

ENGINE

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

Бэкэнд базы данных. Django предоставляет следующие бэкэнды:

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

Вы можете использовать сторонние бэкэнды указав в ENGINE путь для импорта (например, mypackage.backends.whatever). Создание собственного бэкэнда базы данных остается в качестве упражнения для читателя, примеры можно найти в исходном коде Django.

HOST

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

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

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

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

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

При использовании PostgreSQL, по умолчанию (при пустом HOST) подключение к базе данных будет выполнено через UNIX domain сокет (‘local’ в pg_hba.conf). Если у вас UNIX domain сокеты находятся не в стандартном каталоге, укажите в этой настройке значение unix_socket_directory из postgresql.conf. Если вы хотите использовать TCP сокеты, укажите в HOST ‘localhost’ или ‘127.0.0.1’ (‘host’ в pg_hba.conf). В Windows необходимо указать HOST, т.к. UNIX domain сокеты не доступны.

NAME

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

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

CONN_MAX_AGE

New in Django 1.6.

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

Время существования подключения к базе данных. При 0 подключение будет закрываться после каждого запроса — как это всегда работало в Django. При None подключение никогда не будет закрываться.

OPTIONS

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

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

Информацию о дополнительных параметрах можно найти в описании Бэкэндов базы данных.

PASSWORD

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

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

PORT

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

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

USER

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

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

TEST_CHARSET

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

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

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

TEST_COLLATION

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

Порядок сортировки(пер. collation order), используемый при создании тестовой базы данных. Значение передается непосредственно в базу данных, так что его формат зависит от используемой базы данных.

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

TEST_DEPENDENCIES

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

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

TEST_MIRROR

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

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

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

TEST_NAME

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

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

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

Смотрите The test database.

TEST_CREATE

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

Эта настройка используется Oracle.

Если равно False, табличное пространство(пер. tablespace) не будет создано на время выполнения тестов.

TEST_USER

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

Эта настройка используется Oracle.

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

TEST_USER_CREATE

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

Эта настройка используется Oracle.

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

TEST_PASSWD

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

Эта настройка используется Oracle.

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

TEST_TBLSPACE

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

Эта настройка используется Oracle.

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

TEST_TBLSPACE_TMP

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

Эта настройка используется Oracle.

Название временного табличного пространства(пер. temporary tablespace), которое будет использоваться во время выполнения тестов. Если не указано, Django будет использовать 'test_' + NAME + '_temp'.

DATABASE_ROUTERS

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

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

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

DATE_FORMAT

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

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

Смотрите 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'
)

Кортеж содержащий форматы даты, которые доступны в поле даты формы. Форматы проверяются в указанном порядке, используется первый подходящий. Заметим что эти строки используют формат datetime Python, а не формат шаблонного тега 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, будет использоваться формат даты текущей локали, если он указан в файлах локализации. Формат значения смотрите в описании фильтра date.

Смотрите DATETIME_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'
    '%Y-%m-%d',              # '2006-10-25'
    '%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',              # '10/25/2006'
    '%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'
    '%m/%d/%y',              # '10/25/06'
)

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

При USE_L10N равном True, формат даты текущей локали имеет больший приоритет.

Смотрите DATE_INPUT_FORMATS и TIME_INPUT_FORMATS.

DEBUG

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

Включает/выключает режим отладки.

Никогда не включайте DEBUG на “боевом” сервере.

Вы уловили это? НИКОГДА не устанавливайте проект на “боевом” сервере с включенным DEBUG.

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

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

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

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

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

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

Также при DEBUG равном False, необходимо правильно указать ALLOWED_HOSTS. Иначе все запросы будут возвращать “Bad Request (400)”.

DEBUG_PROPAGATE_EXCEPTIONS

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

При True стандартная обработка исключений в Django не будет использована и исключение будет “передано далее”. Это может быть полезным при разработке но не должно быть использовано на “боевом” сервере.

DECIMAL_SEPARATOR

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

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

Заметим, при USE_L10N равном True, будет использовано значение из настроек локали.

Смотрите NUMBER_GROUPING, THOUSAND_SEPARATOR и USE_THOUSAND_SEPARATOR.

DEFAULT_CHARSET

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

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

DEFAULT_CONTENT_TYPE

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

Тип содержимого(пер. content type) , которай используется по умолчанию для объектов HttpResponse если MIME-тип не указан явно. Используется вместе с DEFAULT_CHARSET при установке заголовка Content-Type.

DEFAULT_EXCEPTION_REPORTER_FILTER

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

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

DEFAULT_FILE_STORAGE

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

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

DEFAULT_FROM_EMAIL

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

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

DEFAULT_INDEX_TABLESPACE

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

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

DEFAULT_TABLESPACE

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

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

DISALLOWED_USER_AGENTS

По умолчанию: () (Пустой кортеж)

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

EMAIL_BACKEND

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

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

EMAIL_FILE_PATH

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

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

EMAIL_HOST

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

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

Смотрите EMAIL_PORT.

EMAIL_HOST_PASSWORD

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

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

Смотрите EMAIL_HOST_USER.

EMAIL_HOST_USER

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

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

Смотрите EMAIL_HOST_PASSWORD.

EMAIL_PORT

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

Порт, используемый при подключении к SMTP серверу указанному в EMAIL_HOST.

EMAIL_SUBJECT_PREFIX

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

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

EMAIL_USE_TLS

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

Использовать ли TLS (защищенное) подключение к SMTP серверу.

FILE_CHARSET

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

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

FILE_UPLOAD_HANDLERS

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

("django.core.files.uploadhandler.MemoryFileUploadHandler",
 "django.core.files.uploadhandler.TemporaryFileUploadHandler",)

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

FILE_UPLOAD_MAX_MEMORY_SIZE

По умолчанию: 2621440 (то есть 2.5 MB).

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

FILE_UPLOAD_PERMISSIONS

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

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

Если значение равно None, поведение будет зависеть от операционной системы. На большинстве платформ временные файлы создаются с правами 0600.

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

Это значение всегда должно начинаться с 0.

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

FILE_UPLOAD_TEMP_DIR

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

Каталог, используемый для загрузки временных файлов. Если None, Django будет использовать стандартный каталог временных файлов используемой операционной системы. Например, для *nix-систем это ‘/tmp’.

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

FIRST_DAY_OF_WEEK

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

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

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

FIXTURE_DIRS

По умолчанию: () (Пустой кортеж)

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

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

Смотрите Создание начальных данных с помощью файлов(fixtures) и Fixture loading.

FORCE_SCRIPT_NAME

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

Если не None, будет использоваться как значение переменной окружения SCRIPT_NAME при HTTP запросе. Это значение может использоваться для переопределения значения переменной SCRIPT_NAME предоставленного сервером.

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

Доступные форматы: 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.

IGNORABLE_404_URLS

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

Список скомпилированных регулярных выражений, которые соответствуют URL-ам, для которых не должны отсылаться письма о 404 ошибках (смотрите Отчёты об ошибках). Регулярное выражение проверяет полный адрес запроса с учетом всех GET аргументов. Вы можете использовать эту настройку если ваш проект не содержит обычно запрашиваемые файлы, такие как favicon.ico или robots.txt, или если кто-то натравил на ваш сайт скрипт(пер. hammered by script kiddies).

Используется при включенном BrokenLinkEmailsMiddleware (смотрите Middleware).

INSTALLED_APPS

По умолчанию: () (Пустой кортеж)

Кортеж строк, который указывают не все приложения Django, используемые в проекте. Каждая строка должна быть полным Python путем к пакету Python, который содержит Django приложение. Такой пакет можно создать командой django-admin.py startapp.

App names must be unique

Название приложение (название пакета в котором находится models.py, а не полный путь) указанного в INSTALLED_APPS должно быть уникальным. Например, вы не можете использовать django.contrib.auth и myproject.auth в INSTALLED_APPS.

INTERNAL_IPS

По умолчанию: () (Пустой кортеж)

Кортеж IP адресов, в виде строк, которые:

  • Видят отладочную информацию, при DEBUG равном True

  • Получают X заголовки в “admindocs” при использовании XViewMiddleware (смотрите Middleware)

LANGUAGE_CODE

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

Код используемого в проекте языка. Должен соответствовать формату сокращений названий языков. Например, U.S. English обозначается как "en-us". Смотрите список кодов языков и Интернационализация и локализация.

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

Настройка используется в двух случаях:

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

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

Подробности смотрите в Как Django определяет языковую настройку.

LANGUAGES

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

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 ошибки отправляются в email обработчик при DEBUG равном False. Смотрите также Настройка логирования.

Стандартные настройки логирования можно найти в файле django/utils/log.py (или посмотреть онлайн).

LOGGING_CONFIG

По умолчанию: 'django.utils.log.dictConfig'

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

Например: "http://media.example.com/"

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

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

MIDDLEWARE_CLASSES

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

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

MONTH_DAY_FORMAT

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

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

Например, если отфильтровать страницу списка объектов в интерфейсе администратора по дате, название страницы будет содержать месяц и день. Различные локали содержат различные форматы даты. Например, для U.S. English будет отображаться “January 1,” для Spanish - “1 Enero.”

Смотрите доступные форматы. Также смотрите DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и YEAR_MONTH_FORMAT.

NUMBER_GROUPING

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

Количество цифр для группирования в целочисленной части числа.

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

Заметим, при USE_L10N равном True, будет использовано значение из настроек локали.

Смотрите DECIMAL_SEPARATOR, THOUSAND_SEPARATOR и USE_THOUSAND_SEPARATOR.

PREPEND_WWW

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

Указывает добавлять ли поддомен “www.” к URL-у, если он не содержит его. Работает только при использовании CommonMiddleware (смотрите Middleware). Смотрите APPEND_SLASH.

ROOT_URLCONF

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

Путь для импорта Python-модуля с главной конфигурацией URL-ов. Например: "mydjangoapps.urls". Может быть переопределена для конкретного запроса изменением атрибута urlconf объекта HttpRequest. Подробности смотрите в Как Django обрабатывает запрос.

SECRET_KEY

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

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

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

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

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

Если SECRET_KEY станет кому-то известен, это позволит обойти различную защиту в Django.

Changed in Django 1.5:

Django will now refuse to start if SECRET_KEY is not set.

SECURE_PROXY_SSL_HEADER

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

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

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

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

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

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

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

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

  • Проект находится за прокси-сервером.

  • Прокси удаляет ‘X-Forwarded-Proto’ заголовок из приходящих запросов. Другими словами, пользователь не сможет подделать защищенный запрос указав заголовок.

  • Прокси устанавливает заголовок ‘X-Forwarded-Proto’ и передает Django, но только для запросов через HTTPS.

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

SERIALIZATION_MODULES

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

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

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

SERVER_EMAIL

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

Email-адрес, используемый в качестве адреса отправителя, для писем с ошибками, которые отсылаются на адреса, указание в ADMINS и MANAGERS.

SHORT_DATE_FORMAT

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

Формат, используемый при отображении даты в шаблоне. . Заметим, если USE_L10N равна True, будет использоваться формат даты текущей локали, если он указан в файлах локализации. Формат значения смотрите в описании фильтра date.

Смотрите DATE_FORMAT и SHORT_DATETIME_FORMAT.

SHORT_DATETIME_FORMAT

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

Формат, используемый при отображении даты-времени в шаблоне. . Заметим, если USE_L10N равна True, будет использоваться формат даты текущей локали, если он указан в файлах локализации. Формат значения смотрите в описании фильтра date.

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

SIGNING_BACKEND

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

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

Смотрите Криптографическая подпись.

TEMPLATE_CONTEXT_PROCESSORS

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

("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. Функция принимает объект запроса и возвращает словарь с данными, которые будут добавлены в контекст.

TEMPLATE_DEBUG

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

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

Заметим что Django отображает страницу с ошибкой только при DEBUG равном True, вы можете безопасно использовать эту настройку.

Смотрите DEBUG.

TEMPLATE_DIRS

По умолчанию: () (Пустой кортеж)

Список каталогов, в которых будут искаться файлы шаблонов при вызове django.template.loaders.filesystem.Loader в указанном порядке.

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

Смотрите Язык шаблонов Django.

TEMPLATE_LOADERS

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

('django.template.loaders.filesystem.Loader',
 'django.template.loaders.app_directories.Loader')

Кортеж из классов-загрузчиков шаблонов, указанных путями для импорта. Каждый класс Loader знает как загрузить шаблоны из определенного источника. Вместо строки может использовать кортеж. Первым элементом должен быть модуль Loader-а, последующие элементы будут переданы при инициализации объекта Loader. Смотрите The Django template language: For Python programmers.

TEMPLATE_STRING_IF_INVALID

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

Строка, которая выводится в шаблоне для неверных переменных (например, отсутствующих в контексте). Смотрите How invalid variables are handled..

TEST_RUNNER

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

Название класса, используемого для запуска тестирования. Смотрите Using different testing frameworks.

Changed in Django 1.6:

Previously the default TEST_RUNNER was django.test.simple.DjangoTestSuiteRunner.

THOUSAND_SEPARATOR

По умолчанию: , (Comma)

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

Смотрите 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.

Changed in Django 1.6:

Input format with microseconds has been added.

TIME_ZONE

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

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

Примечание

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

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

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

Django устанавливает переменной os.environ['TZ'] значение, указанное в настройке TIME_ZONE. Таким образом все ваши представления и модели будут использовать один и тот же часовой пояс. Однако, Django не установит значение переменной окружения TZ при следующих обстоятельствах:

  • При ручной конфигурации настроек как описано в соответствующем разделе, или

  • Если указать TIME_ZONE = None, Django будет использовать системную временную зону. Но при USE_TZ = True конвертация локального времени в UTC будет не такая однозначная.

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

Примечание

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

TRANSACTIONS_MANAGED

Deprecated in Django 1.6:

Не рекомендуется, начиная с версии 1.6: This setting was deprecated because its name is very misleading. Use the AUTOCOMMIT key in DATABASES entries instead.

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

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

USE_ETAGS

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

Указывает, использовать ли заголовок “Etag”. Улучшает пропускную способность сервера, но уменьшает производительность. Используется CommonMiddleware (смотрите Middleware) и``Cache Framework`` (смотрите Система кэширования Django).

USE_I18N

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

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

Смотрите LANGUAGE_CODE, USE_L10N и USE_TZ.

USE_L10N

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

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

Смотрите LANGUAGE_CODE, USE_I18N и USE_TZ.

Примечание

По умолчанию файл settings.py созданный django-admin.py startproject содержит USE_L10N = True.

USE_THOUSAND_SEPARATOR

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

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

Смотрите DECIMAL_SEPARATOR, NUMBER_GROUPING и THOUSAND_SEPARATOR.

USE_TZ

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

Указывает, используется ли часовой пояс. Пот True, Django будет использовать объекты даты и времени с указанным часовым поясом. Иначе Django будет использовать объекты даты и времени без учета часового пояса.

Смотрите TIME_ZONE, USE_I18N и USE_L10N.

Примечание

По умолчанию файл settings.py созданный django-admin.py startproject содержит USE_TZ = True.

USE_X_FORWARDED_HOST

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

Указывает, использовать ли заголовок X-Forwarded-Host как более приоритетный чем Host. Включать только при использовании прокси, который устанавливает этот заголовок.

WSGI_APPLICATION

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

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

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

YEAR_MONTH_FORMAT

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

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

Например, если отфильтровать страницу списка объектов в интерфейсе администратора по месяцу, название страницы будет содержать год и месяц. Различные локали содержат различные форматы даты. Например, для U.S. English будет отображаться “January 2006”, в то время как для другой локали это может быть - “2006/January”.

Смотрите доступные форматы. Также смотрите DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и MONTH_DAY_FORMAT.

X_FRAME_OPTIONS

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

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

Admindocs

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

ADMIN_FOR

По умолчанию: () (Пустой кортеж)

Используется интерфейсом администратора при автоматической генерации документации. Кортеж должен содержать путь для импорта модуля настроек(settings.py) проектов, для которых этой является административным (в формате 'foo.bar.baz').

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

Auth

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

AUTHENTICATION_BACKENDS

По умолчанию: ('django.contrib.auth.backends.ModelBackend',)

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

AUTH_PROFILE_MODULE

Deprecated in Django 1.5:

Не рекомендуется, начиная с версии 1.5: With the introduction of custom User models, the use of AUTH_PROFILE_MODULE to define a single profile model is no longer supported. See the Django 1.5 release notes for more information.

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

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

AUTH_USER_MODEL

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

Модель пользователя. Смотрите Substituting a custom User model.

LOGIN_REDIRECT_URL

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

URL куда перенаправляется пользователь поле авторизации пользователя в представлении contrib.auth.login, если не передан параметр next.

Используется декоратором login_required(), например.

Changed in Django 1.5:

This setting now also accepts view function names and named URL patterns which can be used to reduce configuration duplication since you no longer have to define the URL in two places (settings and URLconf). For backward compatibility reasons the default remains unchanged.

LOGIN_URL

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

URL, на который перенаправляются пользователи для авторизации, особенно при использовании декоратора login_required().

Changed in Django 1.5:

This setting now also accepts view function names and named URL patterns which can be used to reduce configuration duplication since you no longer have to define the URL in two places (settings and URLconf). For backward compatibility reasons the default remains unchanged.

LOGOUT_URL

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

Аналогичен LOGIN_URL.

PASSWORD_RESET_TIMEOUT_DAYS

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

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

PASSWORD_HASHERS

Смотрите How Django stores passwords.

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

('django.contrib.auth.hashers.PBKDF2PasswordHasher',
 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
 'django.contrib.auth.hashers.BCryptPasswordHasher',
 'django.contrib.auth.hashers.SHA1PasswordHasher',
 'django.contrib.auth.hashers.MD5PasswordHasher',
 'django.contrib.auth.hashers.UnsaltedMD5PasswordHasher',
 'django.contrib.auth.hashers.CryptPasswordHasher',)

Comments

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

COMMENTS_HIDE_REMOVED

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

COMMENT_MAX_LENGTH

Максимальная длинна комментария. По умолчанию 3000.

COMMENTS_APP

Приложения которое дополняет приложение комментариев. Формат аналогичен INSTALLED_APPS. Приложение COMMENTS_APP также должно быть добавлено в INSTALLED_APPS.

PROFANITIES_LIST

По умолчанию: () (Пустой кортеж)

Кортеж, содержащий ругательства, которые будут запрещены при COMMENTS_ALLOW_PROFANITIES равном False.

Messages

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

MESSAGE_LEVEL

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

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

Important

If you override MESSAGE_LEVEL in your settings file and rely on any of the built-in constants, you must import the constants module directly to avoid the potential for circular imports, e.g.:

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 при добавлении кук.

MESSAGE_TAGS

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

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

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

Important

Если вы переопределили 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_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'

Подробности смотрите Configuring the session engine.

SESSION_EXPIRE_AT_BROWSER_CLOSE

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

Истекает ли сессия после закрытия браузера. Смотрите Browser-length sessions vs. persistent sessions.

SESSION_FILE_PATH

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

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

SESSION_SAVE_EVERY_REQUEST

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

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

SESSION_SERIALIZER

New in Django 1.5.3.

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

Changed in Django 1.6:

The default switched from PickleSerializer to JSONSerializer in Django 1.6.

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

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

Смотрите Session serialization, обратите внимание на опасность выполнения стороннего кода при использовании PickleSerializer.

Сайты

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

SITE_ID

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

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

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

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

STATIC_ROOT

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

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

Например: "/var/www/example.com/static/"

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

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

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

STATIC_URL

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

URL, указывающий на каталог со статическими файлами STATIC_ROOT.

Например: "/static/" или "http://static.example.com/"

Если не равен None, будет использовать как базовый путь при определении “media” файлов (класс Media) и приложением staticfiles.

Должна оканчиваться косой чертой, если не пустая.

STATICFILES_DIRS

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

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

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

Вы можете указать префикс для каталога как кортеж (префикс, путь), например:

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

Например:

Предположим STATIC_URL равна '/static/', команда collectstatic добавит файлы “stats” в подкаталог 'downloads' в STATIC_ROOT.

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

<a href="{{ STATIC_URL }}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. Он ищет файлы в бекенде для хранения файлов указанном в настройке DEFAULT_FILE_STORAGE.

Примечание

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

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

Список основных настроек

Логгирование

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