Ошибка импорта: нет модуля с именем "user_models" - PullRequest
0 голосов
/ 05 июля 2019

У меня есть следующая структура на моем сервере:

/var/www/catalog
    |-- catalog.wsgi
    |__ /catalog             
         |-- __init__.py
         |-- data.py
         |-- database.py
         |-- /models
              |-- __init__.py
              |-- category.py
              |-- item.py
              |__ user_models.py   
         |-- /static
              |__ styles.css
         |-- /templates
              |-- about.html
              |-- base.html
              |-- categories.html
              |-- delete_item.html 
              |-- edit_item.html
              |-- login.html
              |-- new_item.html
              |__ show_item.html
         |-- /utils
              |__ lorem_ipsum_generator.py
         |-- /venv3          # Virtual Environment
         |__ /views
              |-- __init__.py
              |-- about.py
              |-- api.py
              |-- auth.py
              |-- category_view.py
              |-- item_view.py
              |__ user_view.py

, когда я запускаю venv и пытаюсь сделать

python __init__.py

, он показывает мне

File "__init__.py", line 10, in <module>
    from views.category_view import category
  File "/var/www/catalog/catalog/views/category_view.py", line 5, in <module>
    from models.category import Category
  File "/var/www/catalog/catalog/models/category.py", line 8, in <module>
    from user_models import User
ImportError: No module named 'user_models'

внутри /models/category.py файла, которым я пользуюсь

from user_models import User

Надеюсь, кто-нибудь может мне помочь.

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Я решил проблему, добавив «_models» ко всем файлам в каталоге моделей и «_views» ко всем файлам в каталоге views. (например, /models/category.py изменен на /models/category_models.py) и, конечно, @zmike, вы правы, мне нужно было добавить модели. перед user_models. Большое спасибо! Я не совсем уверен, почему Python имеет проблемы, если имена файлов совпадают, но в другом каталоге

0 голосов
/ 06 июля 2019

Попробуйте что-то вроде from models.user_models import.

...