You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目导入expenseswebsite.userpreferences报ModuleNotFoundError求助

导入错误原因
  • 导入路径配置错误:从你给出的项目目录结构看,userpreferences 应用与 expenses 应用为同级目录,都存放在 manage.py 所在的根级 expenseswebsite 文件夹下。Django 运行时默认以 manage.py 所在目录作为 Python 模块搜索的根路径,你所写的 expenseswebsite.userpreferences 会将上层的 expenseswebsite 文件夹当作顶级 Python 包,但终端运行项目时不会默认将更上层的 django-income-expense-website 目录加入 Python 搜索路径,因此找不到对应模块。
  • PyCharm 无报错是因为 IDE 自动将打开的项目根目录标记为源根(Sources Root),提前加入了 IDE 内的 Python 路径,因此可以识别该导入路径,但终端运行时不会继承这个 IDE 专属配置,因此触发报错。
修复方案

把 expenses/views.py 中的对应导入语句修改为以下内容即可:

from userpreferences.models import UserPreference
额外注意事项
  • 请确认 userpreferences 已经加入项目主配置目录下 settings.py 的 INSTALLED_APPS 列表中,你已经成功执行迁移,该配置大概率是正常的。
  • 你 userpreferences/models.py 中的 __str__ 方法存在变量调用错误,直接写 user 找不到对应变量,需要修改为:
def __str__(self):
    return str(self.user)+'s preferences'

内容的提问来源于stack exchange,提问作者Ches_Ter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:54:03