Как получить значения параметров по умолчанию для django, НЕ определенные в моем файле settings.py? - PullRequest
2 голосов
/ 17 августа 2011

Я должен что-то упустить.

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

Когда я добавляю эту переменную в мои settings.py, она работает нормально, но когда ее там нет и я пытаюсь импортировать, я получаю ImportError при использовании сервера разработки с помощью команды runserver:

from settings import DEFAULT_CONTENT_TYPE
ImportError: cannot import name DEFAULT_CONTENT_TYPE

Разве я не смогу сделать это без необходимости добавлять его в мой файл settings.py?

Ответы [ 2 ]

5 голосов
/ 17 августа 2011

Никогда не пользователь from settings import ... или import settings.Это всегда будет импортировать только ваш модуль настроек, но не все настройки Django.

Используйте взамен from django.conf import settings во всех ваших проектах Django.Это использует класс Django Settings, который является оболочкой для всех определенных Django настроек и настроек вашего проекта из вашего файла настроек.

Так что для вашего примера вы должны получить доступ к DEFAULT_CONTENT_TYPE через settings.DEFAULT_CONTENT_TYPE.

0 голосов
/ 17 августа 2011

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

Примерно так: from django.some.settings.file import DEFAULT_CONTENT_TYPE

Вы сможете найти его, просто grep просмотрев вашу директорию Django lib.

...