Параметры настройки Django

Опубликовал: Monday, January 16, 2024 в категории Django | Пока нет комментариев

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

Устройство файла параметров

Файл параметров - это обычный модуль Python с переменными уровня модуля. Вот несколько примеров:

DEBUG = False

DEFAULT_FROM_EMAIL = ‘[email protected]

TEMPLATE_DIRS = (‘/home/templates/mike’, ‘/home/templates/john’)

Раз файл параметров - модуль, к нему применимы следующие правила:

•      В нем должен содержаться корректный код на языке Python, синтаксические ошибки недопустимы.

•       Значения параметрам можно присваивать динамически, например:

MY_SETTING = [str(i) for i in гапде(ЗО)]

•       Разрешается импортировать значения из других файлов параметров.

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

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

При компиляции параметров Django поступает следующим образом:

1.      Сначала загружает параметры из файла global_settings.py.

2.     Затем загружает параметры из указанного файла, замещая одноименные глобальные параметры.

Отметим, что файл параметров не должен импортировать файл global_ settings, ру; это излишне.

Как узнать, какие параметры были изменены

Существует очень простой способ выяснить, значения каких параметров отличаются от значений по умолчанию. Команда manage, ру diff- settings выведет различия между значениями в файле параметров и значениями, принимаемыми Django по умолчанию.

Подробнее команда manage, ру описана в приложении F.

Использование параметров в Python-коде

Чтобы в приложении Django получить доступ к параметрам настройки, достаточно импортировать объект django.conf.settings:

from django.conf import settings

if settings.DEBUG: tt Действия

Отметим, что django.conf.settings - не модуль, аобъект. Поэтому импортировать только значения отдельных параметров невозможно:

from django. conf. settings import DEBUG tt He будет работать.

Еще отметим, что ваше приложение не должно выбирать, откуда импортировать параметры: из global_settings или из вашего собственного файла, django.conf.settings абстрагирует идею параметров по умолчанию и параметров конкретного сайта, предлагая единый интерфейс. Кроме того, фреймворк разрывает связь между программным кодом, который использует настройки, и местоположением файла, содержащего ваши настройки.

Изменение параметров во время выполнения

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

from django.conf import settings

settings. DEBUG = True tt He поступайте так!

Значения параметров должны определяться только в файле параметров и больше нигде.

Безопасность

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

Создание собственных параметров

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

•           Записывать имена параметров заглавными буквами.

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

•      Не надо придумывать свой параметр, если подходящий уже существует.

Назначение файла параметров: DJANGO_SETTINGS_MODULE

Фреймворку Django необходимо сообщить, какой файл параметров использовать. Для этого предназначена переменная окружения DJANG0_ SETTINGS_MODULE.

Ее значением должен быть путь в синтаксисе Python (например, mysite. settings). Отметим, что модуль параметров должен находиться в пути импорта (переменная PYTHONPATH).

Совет ————————————————————————————-

Хорошее руководство по переменной PYTHONPATH есть на странице http:// dweintopython.org/gettwgJ:o_know_python/everythwgJs_an

Утилита django-admin.py

При работе с утилитой django-admin.py (см. приложение F) можно либо однократно определить переменную окружения, либо явно указать местоположение файла параметров при запуске.

В командной оболочке UNIX Bash это выглядит так:

export DJANGO_SETTINGS_MODULE=mysite.settings django-admin.py runserver

А в Windows так:

set DJANGO_SETTINGS_MODULE=mysite.settings django-admin.py runserver

Вручную указать местоположение файла параметров позволяет параметр командной строки -settings:

django-admin.py runserver -settings=mysite.settings

Утилита manage, ру, сгенерированная командой start project при создании заготовки проекта, автоматически устанавливает значение переменной DJANGO_SETTINGS_MODULE; подробнее о manage, ру см. приложение F.

На сервере (mod_python)

На платформе Apache + mod_python необходимо сообщить серверу, где находится файл параметров. Делается это с помощью директивы Set Env:

<Location "/mysite/">

SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings </Location>

Дополнительную информацию см. в руководстве по модулю mod_python на странице http://docs.djangoproject.com/en/dev/howto/deployment/mod- python/.

Определение параметров без установки переменной DJANGO_SETTINGS_MODULE

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

В таких случаях можно определить параметры настройки Django вручную. Для этого следует вызвать функцию django.conf.settings. configure(), например:

from django.conf import settings

settings.configure( DEBUG = True, TEMPLATE_DEBUG = True, TEMPLATE_DIRS = [

‘/home/web-apps/myapp’, ‘/home/web-apps/base’,

]

)

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

Такой способ настройки Django обычно применяется - и даже рекомендуется, - когда некоторая часть фреймворка используется внутри более обширного приложения, потому что при определении параметров с помощью settings.conf igureQ Django не модифицирует окружение процесса. (См. ниже пояснения к параметру TIME_Z0NE, где описано, почему это происходит при обычных обстоятельствах.) Предполагается, что в этой ситуации окружение и так полностью контролируется вами.

Нестандартные параметры по умолчанию

Если необходимо, чтобы значения по умолчанию брались не из файла django.conf.global_settings, а из какого-то другого места, то передайте соответствующий модуль или класс в аргументе default_settings (или в первом позиционном аргументе) при вызове configureQ.

В примере ниже значения по умолчанию берутся из модуля туарр_ defaults, а параметру DEBUG присваивается значение True вне зависимости от того, что находится в myapp_defaults:

from django.conf import settings from myapp import myapp_defaults

settings.configure(default_settings=myapp_defaults, DEBUG=True)

А можно было бы записать то же самое, передав myapp_def aults в виде позиционного аргумента:

settings.configure(myapp_defaults, DEBUG = True)

Обычно не возникает необходимости в таком переопределении значений по умолчанию. В Django они заданы достаточно разумно, и их можно использовать без опаски. Имейте в виду, что альтернативный модуль полностью заменяет все значения по умолчанию Django, поэтому в нем необходимо определить все параметры, которые используются в импортирующем его коде. Полный перечень параметров можно посмотреть в модуле django.conf.settings.global_settings.

Обязательность configure() или DJANGO_SETTINGSJMODULE

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

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

Кроме того, не разрешается вызывать функцию conf igure() более одного раза или вызывать ее после любого обращения к параметрам.

Проще говоря, используйте какой-нибудь один механизм: configureQ или DJANGO_SETTINGS_MODULE, причем однократно.

Перечень имеющихся параметров

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

ABSOLUTE_URL_OVERRIDES

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

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

ABSOLUTEJJRL.OVERRIDES - {

‘blogs.weblog’: lambda о: "/blogs/%s/" % о.slug,

‘news.story’: lambda o: "/stories/%s/%s/" % (o.pub_year, o.slug), }

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

ADMIN_MEDIA_PREFIX

Значение по умолчанию: ‘/media/’

Префикс URL для вспомогательных файлов, используемых в административном интерфейсе: CSS, JavaScript и изображений. Должен заканчиваться символом слеша.

ADMINS

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

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

((‘John’, ‘[email protected]’), (‘Mary’, ‘[email protected]’))

Подчеркнем, что Django посылает сообщения всем перечисленным лицам при возникновении любой ошибки.

ALLOWED_INCLUDE_ROOTS

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

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

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

APPEND_SLASH

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

Определяет, нужно ли завершать URL-адреса символом слеша. Используется, только если установлен дополнительный процессор CommonMiddleware (см. главу 17). См. также описание параметра PREPEND_ WWW.

С ACH Е_В АСКЕ N D

Значение по умолчанию: ‘locmem://’

Определяет используемый механизм кэширования (см. главу 15).

CACHE_MIDDLEWARE_KEY_PREFIX

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

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

DATABASE_ENGINE

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

Определяет реализацию механизма доступа к СУБД (например,

‘postgresql_psycopg2’ или ‘mysql’).

DATABASE_HOST

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

Адрес сервера базы данных. Пустая строка означает localhost. Для SQLite игнорируется.

Если вы работаете с СУБД MySQL и значение параметра начинается с символа слеша (/), то подключение к MySQL будет производиться посредством UNIX-сикета:

DATABASE_HOST = 1/var/run/mysq1′

Если вы работаете с СУБД MySQL и значение параметра не начинается с символа слеша, то предполагается, что это доменное имя или IP-адрес сервера.

DATABASE_NAME

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

Имя базы данных. Для SQLite полный путь к файлу базы данных.

DATABASE_OPTIONS

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

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

DATABASE_PASSWORD

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

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

DATABASE_PORT

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

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

DATABASEJJSER

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

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

DATE_FORMAT

Значение по умолчанию: ‘Nj, У (например, Feb. 4, 2003)

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

См. также описания параметров DATETIME_FORMAT, TIME_F0RMAT, YEAR_M0NTH_ FORMAT и M0NTH_DAY_F0RMAT.

DATETIMEJ=ORMAT

Значение no умолчанию: ‘Nj, Y, P’ (например, Feb. 4, 2003, 4 p.m.)

Формат полей даты/времени по умолчанию, используемый в списках для изменения, отображаемых в административном интерфейсе Django, и, возможно, в других местах системы. Синтаксис определения формата такой же, как в теге now (см. приложение Е, табл. Е.2).

См. также описания параметров DATE_FORMAT, TIME_FORMAT, YEAR_MONTH_FORMAT и MONTH_DAY_FORMAT.

DEBUG

Значение no умолчанию: False Включает или выключает режим отладки.

Если вы определяете собственные параметры настройки, имейте в виду, что в файле django/views/debug.py имеется регулярное выражение HIDDEN_ SETTINGS, которое скрывает в режиме отладки все, что содержит слова SECRET, PASSWORD или PROFANITIES. Это позволяет не заслуживающим доверия пользователям видеть отладочную информацию, из которой исключены секретные (или оскорбительные) параметры.

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

DEFAULT_CHARSET

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

Принимаемая по умолчанию кодировка объектов HttpResponse, для которых явно не указан тип MIME. В сочетании с параметром DEFAULT_ CONTENTJYPE применяется для построения заголовка Content-Type. Подробнее об объектах HttpResponse см. приложение G.

DEFAULT_CONTENT_TYPE

Значение по умолчанию: ‘text/html’

Принимаемый по умолчанию тип содержимого в объектах HttpResponse, для которых явно не указан тип MIME. В сочетании с параметром DEFAULT_CHARSET применяется для построения заголовка Content-Type. Подробнее об объектах HttpResponse см. приложение G.

DEFAULT_FROM_EMAIL

Значение по умолчанию: ‘webmaster@localhost’

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

DISALLOWED_USER_AGENTS

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

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

EMAIL_HOST

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

Почтовый сервер, через который отправляется электронная почта. См. также описание параметра EMAIL_PORT.

EMAIL_HOST_PASSWORD

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

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

См. также описание параметра EMAIL_HOST_USER.

EMAIL_HOST_USER

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

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

EMAIL_PORT

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

Номер порта для доступа к SMTP-серверу, заданному в параметре EMAIL_ HOST.

EMAIL_SUBJECT_PREFIX

Значение по умолчанию: ‘[Django] ‘

Префикс темы в заголовке Subject сообщений, отправляемых с помощью модулей django.core.mail.mail_admins или django.core.mail.mail_ managers. Рекомендуется добавлять в конце пробел.

FIXTURE_DIRS

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

Перечень каталогов расположения файлов тестовых данных в порядке просмотра. Отметим, что компоненты пути в именах каталогов должны разделяться символами прямого слеша, даже для платформы Windows. Используется в системе тестирования Django, которая подробно описана на странице http://docsAjangoproject.com/en/dev/topics/testing/.

IGNORABLE_404_ENDS

Значение по умолчанию: (‘mail.pl’, ‘mailform.pl’, ‘mail.cgi’, ‘mailform.cgi’, ‘favicon.ico’, ‘.php’)

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

Извещения об ошибках 404, возникших при обращении к адресу URL, заканчивающемуся любой из таких строк, не посылаются.

См. также описания параметров IGN0RABLE_404_STARTS и SEND_BROKEN_LINK_ EMAILS.

IGNORABLE_404_STARTS

Значение по умолчанию: (‘/cgi-bin/’, y_vti_bin\ V_vti_inf’)

То же, что и параметр IGN0RABLE_404_ENDS, но относится к префиксам URL.

См. также описания параметров IGN0RABLE_404_ENDS и SEND_BROKEN_LINK_ EMAILS.

INSTALLED_APPS

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

Кортеж строк, описывающий все активированные приложения в данной инсталляции Django. Каждая строка должна содержать полный путь Python к пакету приложения Django. Подробнее о приложениях см. главу 5.

LANGUAGE_CODE

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

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

LANGUAGES

Значение по умолчанию: кортеж, содержащий все поддерживаемые языки. Этот список постоянно расширяется, поэтому какой бы перечень мы здесь ни привели, он очень быстро устареет. Актуальный перечень языков, на которые переведен Django, можно найти в файле django/ conf/global_settings.py.

Перечень представляет собой кортеж, каждый элемент которого является кортежем вида (код языка, название языка), например, Cja\ Japanese’). Из этого перечня можно выбирать язык сайта. О выборе языка см. главу 19.

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

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

Решить проблему можно путем использования «фиктивной» функции gettext(). Вот пример фрагмента файла параметров:

gettext = lambda s: s

LANGUAGES = (

(‘de’, gettextC German’)), (‘en’, gettextC English’)),

)

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

LANGUAGES.

MANAGERS

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

Кортеж в таком же формате, как ADMINS; определяет, кто должен получать извещения о «битых» ссылках, когда параметр SEND_BR0KEN_LINK_ EMAILS=True.

MEDIA_ROOT

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

Абсолютный путь к каталогу, где хранятся мультимедийные файлы для данной инсталляции (например, "/home/media/media.lawrence.com/"). См. также описание параметра MEDIA_URL.

MEDIA URL

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

URL для доступа к файлам из каталога MEDIA_R00T (например, "http:// media.lawrence.com"). Если этот URL содержит путь, то он должен завершаться символом слеша.

•          Правильно: "http://www.example.com/static/"

•          Неправильно: "http://www.example.com/static"

Дополнительные сведения о развертывании и обслуживании мультимедийного содержимого см. в главе 12.

MIDDLEWARE_CLASSES

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

("django.contrib. sessions, middleware. SessionMiddleware", "d j ango. contrib. auth. middleware. AuthenticationMiddleware", "django. middleware, common. CommonMiddlewa re", "dj ango. middleware, doc. XViewMiddleware")

В этом кортеже представлены классы дополнительных процессоров. См. главу 17.

MONTH_DAY_FORMAT

Значение по умолчанию: ‘F j’

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

Например, если страница со списком для изменений в административном интерфейсе Django отфильтрована по дате, то в заголовке для выбранной даты будет отображаться только день и месяц. Формат зависит от локали. Например, в США дата будет выводиться в виде «January 1», а в Испании - «1 епего».

См. также описания параметров DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT hYEAR_MONTH_FORMAT.

PREPENDWWW

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

Определяет необходимость добавления префикса «www.» в адреса URL, в которых он отсутствует. Используется, только если установлен дополнительный процессор CommonMiddleware (см. главу 17). См. также описание параметра APPEND_SLASH.

ROOT_U R LCO N F

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

Строка, описывающая полный путь импорта Python к корневой конфигурации URL (например, "mydjangoapps.urls"). См. главу 3.

SECRET_KEY

Значение по умолчанию: автоматически генерируется при создании проекта.

Секретный ключ для данной инсталляции Django. Используется алгоритмами свертки в качестве затравки. Значением должна быть случайная строка - чем длиннее, тем лучше. Утилита django-admin.py st art project создает ключ автоматически, и обычно изменять его нет необходимости.

SEND_BROKEN_LINK_EMAILS

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

Определяет необходимость отправки извещений лицам, перечисленным в параметре MANAGERS, всякий раз, как кто-то пытается обратиться к несуществующей странице Django-сайта (получает ошибку 404) с непустым заголовком Referer (то есть имеет место «битая» ссылка). Используется, только если установлен дополнительный процессор CommonMiddleware (см. главу 17). См. также описания параметров IGN0RABLE_404_STARTS и IGN0RABLE_404_ENDS.

SERIALIZATIONJVIODULES

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

Механизм сериализации все еще активно разрабатывается. Дополнительные сведения см. на странице http://docs.djangoproject.com/en/dev/ topics/serialization/.

SERVER_EMAIL

Значение по умолчанию: ‘ root@localhost’

Адрес отправителя электронной почты для сообщений об ошибках, которые рассылаются, например, лицам, перечисленным в параметрах

ADMINS и MANAGERS.

SESSION_COOKIE_AGE

Значение по умолчанию: 1209600 (две недели, выраженные в секундах) Срок хранения сеансовых cookie. См. главу 14.

SESSION_COOKIE_DOMAIN

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

Домен сеансовых cookie. Для междоменных cookie следует указывать значение вида ".lawrence.com", а для стандартных, отправляемых только в пределах текущего домена, следует оставить None. См. главу 14.

SESSION_COOKIE_NAME

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

Имя сеансового cookie, может быть произвольным. См. главу 14.

SESSION_COOKIE_SECURE

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

Определяет, должен ли сеансовый cookie быть безопасным. Если равен True, то cookie будет помечен признаком «secure», и броузер будет посылать его только по HTTPS-соединению. См. главу 14.

SESSION_EXPIRE_AT_BROWSER_CLOSE

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

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

SESSION_SAVE_EVERY_REQUEST

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

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

SITEJD

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

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

TEMPLATE_CONTEXT_PROCESSORS

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

("dj ango. core. context_processors. auth", "django. core. context_processors. debug", "django.core.context_processors.i18n", "django.core.context_processors.media")

Кортеж, содержащий вызываемые объекты, которые используются для заполнения контекста, представленного объектом RequestContext. Каждый такой объект принимает в качестве аргумента объект запроса и возвращает словарь элементов, добавляемый в контекст. См. главу 9.

TEMPLATE_DEBUG

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

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

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

См. также описание параметра DEBUG.

TEMPLATE_DIRS

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

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

TEMPLATE_LOADERS

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

(‘django. template, loaders. filesystem.load_template_sou rce\

‘django.template. loaders. app_di rectories. load_template_source’)

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

TEMPLATE_STRING_IF_INVALID

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

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

TEST_DATABASE_NAME

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

Имя базы данных, используемой при прогоне комплекта тестов. Если указано значение None, то тестовая база будет называться ‘ test_’ + settings.

DATABASE_NAME. Описание системы тестирования в Django см. по адресу http://docs.djangoproject.com/en/dev/topics/testing/.

TEST_RUNNER

Значение по умолчанию: ‘django.test, simple. run_tests’

Имя метода для запуска комплекта тестов. Используется системой тестирования Django, которая описана на странице по адресу http://docs. djangoproject.com/en/dev/topics/testing/

TIME_FORMAT

Значение no умолчанию: ‘P’ (например, 4 p.m.)

Формат полей времени по умолчанию в списках для изменения, отображаемых в административном интерфейсе Django, и, возможно, в других местах системы. Синтаксис определения формата такой же, как в теге now (см. приложение Е, табл. Е.2).

См. также описания параметров DATE_FORMAT, DATETIME_FORMAT, YEAR_MONTH_ FORMAT и MONTH_DAY_FORMAT.

TIME_ZONE

Значение no умолчанию: America/Chicago’

Строка, описывающая часовой пояс для данной инсталляции. Довольно полный перечень строк часовых поясов приводится на странице http:// www.postgresql.org/docs/8.1/static/datetime-keywords.htmWDATETIME- TIMEZONE-SET-TABLE.

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

Часовой пояс, указанный в параметре TIME_Z0NE, Django обычно записывает в переменную os.environ[‘TZ’]. Поэтому все представления и модели автоматически будут работать в нужном часовом поясе. Однако если значения параметров устанавливаются вручную (см. выше раздел «Определение параметров без установки переменной DJANGO_ SETTINGS_MODULE»), то Django не изменяет переменную окружения TZ, полагая, что вы самостоятельно организуете надлежащее окружение для своих процессов.

Примечание ——————————————————————————

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

URL_VALIDATOR_USER_ AGENT

Значение no умолчанию: Django/<version> (http://www.djangoproject.com/)

Строка, используемая в качестве заголовка User-Agent при проверке существования URL (см. описание параметра verify_exists в поле типа URLField в приложении А).

USE_ETAGS

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

Определяет необходимость вывода заголовка ETag. Позволяет уменьшить трафик, но снижает производительность. Используется, только если установлен дополнительный процессор CommonMiddleware (см. главу 17).

USEJ18N

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

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

YEAR_MONTH_FORMAT

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

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

Например, если страница со списком для изменений в административном интерфейсе Django отфильтрована по дате, то в заголовке для выбранного месяца будет отображаться только месяц и год. Формат зависит от локали. Например, в США дата будет выводиться в виде «January 2006», а в какой-нибудь другой локали - «2006/January».

См. также описания параметров DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT и MONTH_DAY_FORMAT.

Источник: Головатый А., Каплан-Мосс Дж. Django. Подробное руководство, 2-е издание. - Пер. с англ. - СПб.: Символ- Плюс, 2010. - 560 е., ил.

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *