Django - ошибка: нет модуля с именем x - при попытке повторного использования приложений - PullRequest
0 голосов
/ 06 ноября 2011

Я новичок в Джанго. У меня установлена ​​версия 1.3.1.

Я создал два проекта: projectone и projecttwo , используя django-admin.py

А в projectone у меня есть приложение под названием blog , созданное с использованием python manage.py startapp

В файле projecttwo setings.py, если в установленный_пакет добавлено следующее:

INSTALLED_APPS = (  
    other code goes here...
    'projectone.blog'
)

А потом, когда я запускаю projecttwo с помощью manage.py, я получаю:

Error: No module named projectone.blog

У меня правильно размещены __ init __.py файлы.

Я просто не могу понять, почему. Может быть, потому что projectone не находится в pythonpath? Это то, что делает django-admin.py? и не делать это на моем по какой-то причине? Я не уверен.

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Посмотрите, что делает manage.py:

https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-py-and-manage-py

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

У вас есть два отдельных проекта, поэтому при запуске любого из них на пути к Python будут только приложения из этого конкретного проекта. Чтобы использовать приложение из одного проекта «извне», вам нужно вручную добавить эти приложения в глобальный путь Python, если вы хотите использовать их вне текущего проекта

0 голосов
/ 06 ноября 2011

Вы пытаетесь установить Project в INSTALLED_APPS на settings.py, это разные проекты.Вместо этого вам нужно создать только один проект и создать разные приложения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...