1

という名前のプロジェクトを 1 つmysite作成し、books.I という名前の startapp を使用して作成しました。管理サイトを作成したところ、正常に機能しました。しかし、管理サイトにモデルを追加しようとすると、これらのことを言及するエラーが発生しました。

ImportError at /admin/
No module named books.models

実際にadmin.pybooksフォルダーに作成してから、次のコードを書きました。

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)

models.py:

from django.db import models

class Publisher(models.Model):
    name = models.CharField(max_length=30)
    address = models.CharField(max_length=50)
    city = models.CharField(max_length=60)
    state_province = models.CharField(max_length=30)
    country = models.CharField(max_length=50)
    website = models.URLField()

    def __unicode__(self):
        return self.name

class Author(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=40)
    email = models.EmailField()

    def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)

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

では、この問題を解決するにはどうすればよいでしょうか。

4

2 に答える 2

0

やってみます

from books.models import Publisher, Author, Book
...

books がアプリの名前である場合

于 2013-06-12T10:43:44.863 に答える
0

代わりにこれを試してください..

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

admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)
于 2013-06-12T10:41:32.987 に答える