我正在按照此处包含的教程进行操作:
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的模块
我在这里发现了一个类似的问题,但不明白答案:
感谢您的帮助!
答案 0 :(得分:1)
确保books目录中有__init__.py
,因此Python将其识别为模块。
答案 1 :(得分:1)
您是否真的创建了Book
模型?以下是the tutorial you're following的模型定义:
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
答案 2 :(得分:0)
我相信我在这里找到了答案:
ImportError: No module named books.models
无论出于何种原因,因为在设置文件中我只是在已安装的应用下有“图书”,我的admin.py应为:
from books.models import Publisher,Author,Book
而不是
来自djangobook1.books.models import Publisher,作者,书籍
现在我不确定这里的规则是什么,但这解决了我的问题......