0

我正在关注此处包含的教程:

http://www.djangobook.com/en/2.0/chapter06.html

说明是使用以下代码在 app 文件夹中创建一个名为 admin.py 的文件:

from django.contrib import admin
from mysite.books.models import Publisher, Author, Book

admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)

但是,在我这样做之后,我在第二行收到一个错误,上面写着:

没有名为 books.models 的模块

我在这里发现了一个类似的问题,但不明白答案:

Django 管理页面错误

谢谢您的帮助!

4

3 回答 3

1

确保您__init__.py在 books 目录中有一个,以便 Python 将其识别为一个模块。

于 2013-06-13T20:46:27.200 回答
1

你真的创建了你的Book模型了吗?以下是您正在关注的教程中的模型定义:

class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)
    publisher = models.ForeignKey(Publisher)
    publication_date = models.DateField()

    def __unicode__(self):
        return self.title
于 2013-06-13T20:50:24.393 回答
0

我相信我在这里找到了答案:

ImportError:没有名为 books.models 的模块

无论出于何种原因,因为在设置文件中我在安装的应用程序下只有“书籍”,所以我的 admin.py 应该是:

从 books.models 导入出版商、作者、图书

代替

从 djangobook1.books.models 导入出版商、作者、书籍

现在我不确定这里的规则是什么,但这解决了我的问题......

于 2013-06-13T21:05:10.293 回答