2017-03-15 134 views
0

请帮我。我放弃。我正在尝试向我的django管理员添加更多字段。我想在那里插入图像缩略图。这是我的admin.py的一部分:Django - 添加图像列表显示在Django管理员

class SiteAdmin(admin.ModelAdmin): 
    list_display = ('is_active', 'name', 'description', 'keywords', 'date') 
    fields = ('name', 'url', 'category', 'subcategory', 'category1', 
      'subcategory1', 'description', 
      'keywords', 'date', 'group', 'email', 'is_active') 
    readonly_fields = ('date',) 
    list_display_links = ('name',) 
    list_filter = ('is_active',) 
    actions = [activate_sites, deactivate_sites] 

我wolud喜欢添加'图像'到list_display。图像由thumbalizr生成。我在models.py中有一个方法:

class Site(models.Model): 
    category = models.ForeignKey('Category') 
    subcategory = ChainedForeignKey(
     'SubCategory', 
     chained_field='category', 
     chained_model_field='category', 
     show_all=False, 
     auto_choose=True, 
     blank=True, null=True, default=None) 
    name = models.CharField(max_length=70, verbose_name="Tytuł") 
    description = models.TextField(verbose_name="Opis") 
    keywords = MyTextField(max_length=100, verbose_name="Słowa kluczowe") 
    date = models.DateTimeField(default=datetime.now, editable=False) 
    url = models.URLField() 
    is_active = models.BooleanField(default=False) 

    category1 = models.ForeignKey('Category', related_name='category', blank=True, null=True, default=None) 
    subcategory1 = ChainedForeignKey(
     'SubCategory', 
     chained_field='category1', 
     chained_model_field='category', 
     related_name='subcategory', 
     show_all=False, 
     auto_choose=True, blank=True, null=True) 

    group = models.CharField(max_length=10, choices=(('podstawowy', 'podstawowy'), 
               ('premium', 'premium')), default='podstawowy', 
         help_text="<div id='group'><ul><li>You can add site to 2 <b>categories</b></li></ul></div>") 

    email = models.EmailField(help_text='Podaj adres email') 

    def get_absolute_url(self): 
     return reverse('site', args=[str(self.category.slug), 
           str(self.subcategory.slug), str(self.id)]) 

    def get_thumb(self): 
     host = urlparse(self.url).hostname 
     if host.startswith('www.'): 
      host = host[4:] 
     thumb = 'https://api.thumbalizr.com/?url=http://' + host + '&width=125' 
     return thumb 

它是get_thumb()方法。我如何将图像映射到每个网站并放入我的django管理页面?我应该添加额外的字段到我的网站模型?我不想将图像存储在我的服务器上 - 它们直接来自thumbalizr。

回答