ImportError:没有名为“ user_models”的模块

时间:2019-07-05 15:02:18

标签: python linux python-venv amazon-lightsail

我的服务器上具有以下结构:

/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

当我开始做静脉手术并尝试做

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 :(得分:0)

尝试类似from models.user_models import之类的东西。

答案 1 :(得分:0)

我通过在“ models”目录中的所有文件中添加“ _models”并在“ views”目录中的所有文件中添加“ _views”来解决该问题。 (例如/models/category.py更改为/models/category_models.py),当然@zmike,您是对的,我需要添加模型。在user_models前面。非常感谢你!我不太确定为什么如果文件名相同但在不同目录下python会有问题