Начиная с версии Django 1.4, использование django.core.management.setup_environ()
не рекомендуется. Решение, которое работает как для ноутбука IPython, так и для QTconsole, заключается в следующем (просто выполните это из каталога проекта Django):
In [1]: from django.conf import settings
In [2]: from mydjangoproject.settings import DATABASES as MYDATABASES
In [3]: settings.configure(DATABASES=MYDATABASES)
Обновление: Если вы работаете с Django 1.7, вам дополнительно необходимо выполнить следующее:
In [4]: import django; django.setup()
Используя django.conf.settings.configure()
, вы задаете настройки базы данных вашего проекта, а затем можете получить доступ ко всем своим моделям обычным способом.
Если вы хотите автоматизировать этот импорт, вы можете, например, создайте профиль IPython, запустив:
ipython profile create mydjangoproject
Каждый профиль содержит каталог с именем startup
. Вы можете поместить туда произвольные скрипты Python, и они будут выполнены сразу после запуска IPython. В этом примере вы найдете его под
~/.ipython/profile_<mydjangoproject>/startup/
Просто поместите туда скрипт, который содержит код, показанный выше, возможно, заключенный в предложение try..except
для обработки ImportError
s. Затем вы можете запустить IPython с указанным профилем, например так:
ipython qtconsole --profile=mydjangoproject
или
ipython notebook --profile=mydjangoproject