Вопрос по python – PyCharm не может найти правильные пути, если я открываю каталог, который не является корнем Django

43

Наши проекты обычно структурированы:

/project-name
  /src
    /django-project-name
      etc..
readme.md
requirements.txt

Если я открою/project-name вместо/django-project-name PyCharm подчеркивает мой импорт, говоря, что они не могут найти, и пытается ссылаться на импорт какsrc.django-project-name.app_name.models.Thing который на самом деле не может быть найден при запуске Django.

Как я могу заставить его работать так же, как при монтировании/djang-project-name откуда все это правильно?

Ваш Ответ

3   ответа
95

File -> Preferences -> Project Structure выбирая/django-project-name в дереве и нажавsources чтобы добавить.

Вам также необходимо включить поддержку Django (настройки -> Языки и рамки -> Django -> Включить поддержку Django). thebjorn
не работал для меня: stantonk
В документации PyCharm четко указано, что пометка каталога как каталога «sources» приведет к тому, что этот каталог будет добавлен в PYTHONPATH, но это однозначно и многократно не работает для меня (источник: Jetbrains.com / PyCharm / помощь / проект-структура-dialog.html) Brandon Kuczenski
спас мой день ... sgauri
1

что PyCharm не нашел папку с шаблонами для существующего проекта Django. Поэтому я создал тестовый проект и увидел, что параметр папки шаблона добавляется только при настройке проекта (он должен быть в корневом каталоге проекта / .idea / project-name.iml

Копирование той же настройки и изменение папки на правильную решило проблему для меня.

Вы можете пометить папку как Папку шаблонов в PyCharm, что тоже должно сработать rioted
0

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

_ _ Init _ _.py файл больше не является обязательным, начиная с Python 3.3. Более того, он указывает интерпретатору создать единый пакет каталога, который затеняет sys.path и может привести к ошибкам импорта, если вы не знаете об этом. Смотрите PEP420: Python.org / DEV / Peps / PEP-0420 / # спецификация robsn

Похожие вопросы