django 错误之 ImportError: No module named **

今天测试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;

 

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

  

posted @ 2013-11-22 16:02  r3call  阅读(13236)  评论(0编辑  收藏  举报