0

django アプリの管理パネルにログインできません。エラーが返されます (ここにリスト: http://dpaste.com/1437248/ )。

私のadmin.py:

from app.models import *
from django.contrib import admin

admin.site.register(Product, Product.Admin)

私のmodels.py(部分的):

class Product(BaseModel):
    company = models.ForeignKey(Company, null=True, blank=True)
    title = models.CharField(max_length=128)
    description = models.TextField()
    category = models.ForeignKey(ProductCategory, null=True, blank=True)
    price = models.DecimalField(max_digits=5,decimal_places=2)

    image = models.ImageField(upload_to=product_upload_to)
    thumb = models.ImageField(upload_to=thumb_upload_to)

    def save(self, force_update=False, force_insert=False, thumb_size=(120,120)):
        image = Image.open(self.image)
        image.thumbnail(thumb_size, Image.ANTIALIAS)

        temp_handle = StringIO()
        image.save(temp_handle, 'png')
        temp_handle.seek(0) # rewind the file
        suf = SimpleUploadedFile(os.path.split(self.image.name)[-1],
                                 temp_handle.read(),
                                 content_type='image/png')
        self.thumb.save(suf.name+'.png', suf, save=False)
        super(Product, self).save(force_update, force_insert)

    class Admin(admin.ModelAdmin):
        list_display = ('title','price')

編集: これで、このエラーは admin.py/Admin クラスが原因ではないことがわかりました。admin.py のコンテンツを削除しましたが、エラーがまだ存在します。

4

1 に答える 1

0

モデル管理者クラスは、モデル内にあってはなりませんProduct。admin.py で定義します。

from app.models import *
from django.contrib import admin

class ProductAdmin(admin.ModelAdmin):
    list_display = ('title','price')

admin.site.register(Product, ProductAdmin)
于 2013-11-01T09:02:49.260 に答える