2013-05-25 3 views
0

У меня проблема с Django. Если бы вы могли мне помочь, я бы очень признателен.Новый проект django: не удается импортировать имена соединений

Итак, я нашел много людей с подобной проблемой, но ни одно из «решений» не работает для меня. Я изучаю, как использовать django, и я успешно установил его.

Но я получаю сообщение об ошибке при выполнении импорта из инициализации .py файла:

from django.db import connections 

Вот ошибка:

raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e)) 
ImportError: Could not import settings 'TestProject.settings' (Is it on sys.path?): cannot import name connections 

Содержащая папка Джанго включена в моем PYTHONPATH , и моя файловая структура выглядит следующим образом:

TestProject 
--manage.py 
--TestProject 
----__init__.py 
----settings.py 
    etc. 

Это мой manage.py файл:

#!/usr/bin/env python import os import sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "TestProject.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 

Я не знаю, как устранить это. Я также новичок в Python, так что простите меня, если это совершенно очевидно для кого-то другого.

Благодарим за помощь.

+0

Что происходит, когда вы пытаетесь импортировать тот же оператор, перейдя в питон оболочку под виртуальным окр вручную? вам нужно значение DJANGO_SETTINGS_MODULE в переменной env OS, вы можете сделать это командой export. Какую версию django вы используете? – Mutant

+0

Можете ли вы перейти в '/ TestProject' и сделать' python'. Затем попробуйте «импортировать настройки», чтобы увидеть, можно ли импортировать файл. Если вы видите какие-то ошибки, это объясняет это. –

+0

Итак, параметры импорта дали мне ошибку: «ImportError: без параметров имени модуля». Любые идеи о том, как получить python для поиска настроек? –

ответ

0

Это странная причуда. Я нашел следующее для работы в своей программе:

  1. Импортировать настройки django.
  2. Установите среду по умолчанию.
  3. ДОСТУП. SITE_ID (или другое свойство, но просто используйте, например, SITE_ID) через настройки.
  4. Наконец, вы должны иметь возможность импортировать.

E.g.

from django.conf import settings 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings") 

settings.SITE_ID 

или использовать другую переменную, такую ​​как DEBUG; note .. эта строка ничего не делает .. он просто обращается к настройкам и, кажется, «активирует» среду. Вы также можете сделать простое заявление для печати, как print settings.SITE_ID, но это не обязательно.)

from myapp.models import MyModel, MyOtherModel 

Если вы делаете все, что в таком порядке .. хорошо она работает для меня! Магия происходит, когда вы получаете доступ к фактической настройке, прежде чем импортировать модель.

Я думаю, что это может быть ошибка/ошибкой в ​​Django 1.5

+0

Подписи относятся к стилю/использованию стиля переполнения стека. Если вы хотите поделиться этой информацией; поместите его в свой профиль. –

Смежные вопросы