django 错误之 ImportError: No module named **

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

D:pythonCodedjangomysite>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;

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

  

原文地址:https://www.cnblogs.com/tk091/p/3437762.html