我学习Django。现在我尝试制作新的数据库表。 我已经完成了文件的结构,就像我在书中学到的那样。我的应用程序被命名为“书籍”:
然后,我必须在settings.py中将“mysite.books”行添加到字段INSTALLED_APPS中,不是吗? 另外,在书中写的,我必须注释掉“settings.py”文件中的下一行:
MIDDLEWARE_CLASSES = (
# ‘django.middleware.common.CommonMiddleware’,
# ‘django.contrib.sessions.middleware.SessionMiddleware’,
# ‘django.contrib.auth.middleware.AuthenticationMiddleware’,
)
INSTALLED_APPS = (
# ‘django.contrib.auth’,
# ‘django.contrib.contenttypes’,
# ‘django.contrib.sessions’,
# ‘django.contrib.sites’,
‘mysite.books’,
)
但是,关于Django的书是针对Django的1.1版本,我使用的是1.8版本的Django。所以,我有另外一些字段“MIDDLEWARE_CLASSES”和“INSTALLED_APPS”:
INSTALLED_APPS = (
#'django.contrib.admin',
#'django.contrib.auth',
#'django.contrib.contenttypes',
#'django.contrib.sessions',
#'django.contrib.messages',
#'django.contrib.staticfiles',
'mysite.books',
)
MIDDLEWARE_CLASSES = (
#'django.contrib.sessions.middleware.SessionMiddleware',
#'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
#'django.contrib.auth.middleware.AuthenticationMiddleware',
#'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
#'django.contrib.messages.middleware.MessageMiddleware',
#'django.middleware.clickjacking.XFrameOptionsMiddleware',
#'django.middleware.security.SecurityMiddleware',
)
而且,如果我运行命令“python manage.py validate”,我会看到错误:“ImportError:没有名为'mysite.books'的模块”
我做错了什么?或者,也许是不同版本的Django的问题?我必须做什么?
答案 0 :(得分:2)
尝试将books
设为前缀mysite
。
答案 1 :(得分:2)
默认的Django项目布局changed in Django 1.4。
对于您显示的目录布局,您应在books
中使用mysite.books
代替INSTALLED_APPS
。