2012-12-11 63 views
3

我试图使用sorl-thumbnail v11.12在Django管理员中显示缩略图。在Django中的sorl-thumbnail admin使用AdminImageMixin

models.py已经使用sorl.thumbnail.ImageField按照文档:

Note You do not need to use the sorl.thumbnail.ImageField to use sorl.thumbnail. The standard django.db.models.ImageField is fine except that using the sorl.thumbnail.ImageField lets you plugin the nice admin addition explained in the next section. 

不过,我不能确定如何配置admin.py。我已经完成了manage.py syncdb。目前,我有以下内容,但不会在Django admin中显示缩略图。

MyProject的/ admin.py

from django.contrib.admin import * 
from sorl.thumbnail.admin import AdminImageMixin 

class ModelAdmin(AdminImageMixin, ModelAdmin): 
    pass 

class TabularInline(AdminImageMixin, TabularInline): 
    pass 

class StackedInline(AdminImageMixin, StackedInline): 
    pass 

MyProject的/ MyApp的/ admin.py

from MyProject import admin 
from myapp.models import Tours 

class ToursAdmin(admin.ModelAdmin): 
    list_display = ('name', 'image', 'price') 
    search_fields = ('name',) 

admin.site.register(Tours, ToursAdmin) 

回答

1
# models.py 
class Tours(models.Model): 
    image = models.ImageField(upload_to="path/") 

    def thumb(self): 
     return u'<img src="%s" />' % (get_thumbnail(c, "50x50", crop='center', quality=95).url) 
    thumbs.short_description = 'Photos' 
    thumbs.allow_tags = True 

# admin.py 
class ToursAdmin(admin.ModelAdmin): 
    list_display = ('name', 'thumb', 'price') 
+0

请提供一些解释,这个代码是如何工作的。在StackOverflow中,代码倾销通常是令人沮丧和不满意的 – rayryeng