django 错误之 ImportError: No module named **

作者在使用Django框架创建项目和模型时遇到模型导入失败的问题,通过调整settings.py文件配置并执行数据库操作,最终成功创建并测试模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天测试django的时候出了点问题,被坑惨了。

D:\pythonCode\django\mysite>django-admin.py startproject mysite

然后创建APP ,名称叫mb

python manage.py startapp mb

目录结构如下:

D:.
│  manage.py
│
├─mb
│      admin.py
│      models.py
│      models.pyc
│      tests.py
│      views.py
│      __init__.py
│      __init__.pyc
│
└─mysite
        settings.py
        settings.pyc
        urls.py
        wsgi.py
        __init__.py
        __init__.pyc

为了做测试,我创建一个非常简单的model

修改mb->models.py,只有一个字段

from django.db import models

# Create your models here.
class Test(models.Model):
    testField = models.TextField()

 

修改mysite->settings.py

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mysite.mb',
)

注:这时还要数据库的地方我设置为

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'D:\\test.db',
    }
}

 

 

执行数据库测试时

manage.py sql mb

出现错误提示:

ImportError: No module named mb

明明我在settings.py中设置了,为什么没有这个model呢?

 

我也不知道,百度了下,将mysite->settings.py 

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mb',
)

这次,出现了

BEGIN;
CREATE TABLE "mb_test" (
    "id" integer NOT NULL PRIMARY KEY,
    "testField" text NOT NULL
)
;

COMMIT;

 

看样子是成功了,但原因是什么?求解释。

  

### 解析 `ImportError: No module named 'rsview'` 错误 当遇到 `ImportError: No module named 'rsview'` 的错误时,这表明 Python 解释器无法找到名为 `rsview` 的模块。此问题可能由多种因素引起。 #### 文件结构与相对导入 如果 `rsview` 是自定义模块的一部分,则可能是由于文件结构或相对导入设置不正确引起的。对于 Django 或其他框架项目,在 `urls.py` 中尝试通过绝对路径而非相对路径来引入视图函数可能会引发此类错误。解决方案之一是采用相对导入的方式,例如: ```python from . import views # 使用相对导入方式 ``` 这种方式能够有效避免因工作目录变化而导致的模块查找失败[^1]。 #### 安装缺失的第三方库 另一种常见情况是确实不存在名为 `rsview` 的安装包。此时应确认目标模块是否已正确安装到环境中。可以通过如下命令检查并安装所需依赖项: ```bash pip list | grep rsview # 查看是否有该模块 pip install rsview # 如果未安装则执行安装操作 ``` 确保所使用的虚拟环境(如果有)处于激活状态,并且安装的是适用于当前 Python 版本的兼容版本[^2]。 #### 路径配置不当 有时即使已经成功安装了所需的外部库,但由于 IDE 和命令行之间的工作路径差异也可能造成类似的错误消息。为了使终端也能识别这些库,可以在脚本开头手动添加库所在的路径至系统的 PYTHONPATH 变量中: ```python import sys sys.path.append("/path/to/your/library") # 将实际路径替换掉这里的占位符 print(sys.path) # 打印当前搜索路径列表用于调试验证 ``` 这种方法特别适合处理那些仅限于特定编辑器内部工作的场景下发生的类似问题[^3]。 #### 工作空间路径管理 值得注意的是 PyCharm 等集成开发环境会在启动时自动将整个项目的根目录添加到解释器的搜索范围内;然而当我们直接从命令行调用 python 命令时,默认只会考虑当前所在位置及其标准库路径。因此建议在运行前先切换到包含入口文件的那个文件夹里再执行程序,或者调整好相应的环境变量使得全局可见所有必要的资源[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值