2014-10-05 2 views
1

기본적으로 내가 원하는 것은 추가 또는 편집 인터페이스에서 파일을 선택한 후에 이미지 미리보기 이미지를 표시하는 미디어 양식을 갖는 것입니다. 이 코드를 사용해 보았지만이 오류가 반환되었습니다.django admin 필드에 사용자 정의 html을 추가하는 방법은 무엇입니까?

class ImageMedia(models.Model): 
    caption = models.CharField(max_length=64) 
    picture = models.ImageField(upload_to='image_media', blank=True) 

    def admin_image(self): 
     return '<img src="%s" height="300px"/>' % self.picture 
    admin_image.allow_tags = True 

    def __str__(self): 
     return self.caption 

class ImageMediaAdmin(admin.ModelAdmin): 
    list_display = ('caption', 'picture', 'admin_image') 
    search_fields = ('caption', 'picture') 
    fields = ('caption', 'picture', 'admin_image') 

admin.site.register(ImageMedia, ImageMediaAdmin) 
+0

필드가 아니기 때문에 함수를 필드에서 제거해야합니다. 즉각적인 문제를 제거 할 것입니다. –

답변

1

당신은 readonly_fieldadmin_image을 지정 ImageMediaAdmin을 변경해야하는 관리자 클래스에게 있습니다 :

Unknown field(s) (admin_image) specified for ImageMedia. 
Check fields/fieldsets/exclude attributes of class ImageMediaAdmin. 

모델 클래스입니다.

class ImageMediaAdmin(admin.ModelAdmin): 
    list_display = ('caption', 'picture', 'admin_image') 
    search_fields = ('caption', 'picture') 
    fields = ('caption', 'picture', 'admin_image') 
    readonly_fields = ['admin_image'] 
+0

필드가 아니고 호출 가능합니다. 'fields' 튜플에서 callable을 사용할 수 없습니다. –

+0

그게'''readonly_fields'''가 도움이 될 것입니다. 나는 이것을 전에 사용했고 효과가있다. – schillingt

+0

감사합니다.이 방법이 효과적입니다. – Nameless

관련 문제