Django syncdb не может найти мои приложения
Я новичок в Джанго, и у меня были проблемы.
В корне моего проекта я создал папку под названием "local_apps" и в нее я поместил приложение "myapp". Я обновил INSTALLED_APPS в файле settings.py с помощью: myproject.local_apps.myapp
Однако, когда я пытаюсь синхронизировать, Django выдает ошибку: "не существует модуля с именем local_apps.myapp"
Когда я помещаю "myapp" обратно в корень проекта, он снова работает, но я не хочу этого. Я хочу сохранить свои приложения в папке local_apps.
Можете ли вы сказать мне, что я делаю не так здесь.
Заранее спасибо.
3 ответа
Я думаю, что это общая ошибка Python, а не ошибка Django.
Может быть, вам нужно создать __init__.py
файл в каталоге local_apps, поэтому python знает, что это модуль.
У вас есть models.py
в папке myapp? Я думаю, что Django, возможно, нужно увидеть этот файл в приложении.
[Edit: на самом деле, я думаю, что мудрый выше может быть правильным, убедитесь, что у вас есть __init__.py
, если вы это сделаете, попробуйте models.py.]
Я столкнулся с ошибкой: ImportError: No module named foo
Чтобы решить эту проблему, я просто добавил пакет сайта Django в путь Python по адресу settings.py
Модуль, как это:
PKG_DIR = os.path.dirname(__file__)
sys.path.append(PKG_DIR)