对不起,如果这是一个显而易见的问题,但我已经搜索了几天但未能提出结果。
我正在制作一个简单的照片库应用。有四个画廊,每个画廊都包含一张照片(照片由'前'图像,'后'图像和标题组成)。我正在尝试使用django-admin来允许用户点击图库然后添加照片。
我使用TabularInline编辑每个图库中的照片。除了TabularInline上的默认列之外,我还想添加一个列,其中显示“之前”照片和“之后”照片的缩略图预览(我正在使用简易缩略图)。经过多次搜索,似乎最好的方法是覆盖django-admin tabularInline.html模板并自己添加列 - 所以我创建了另一个副本,我现在正在尝试编辑它。
我想做的只是引用我覆盖的Django管理模板中的Photo对象 - 但我不知道要使用的相应标签。我需要引用所以我可以将它与easy-thumbnails缩略图标签一起使用......但是对于我的生活,我无法弄清楚引用该对象的模板标签。我试过遍历ModelForm,FormSet和FieldSet对象,但似乎没有人给我直接引用该对象。
# models.py
class Gallery(models.Model):
name = models.CharField(max_length=200)
url = models.CharField(max_length=200)
desc = models.TextField()
def __unicode__(self):
return self.name
class Photo(models.Model):
gallery = models.ForeignKey(Gallery)
before = models.ImageField(upload_to='gallery')
after = models.ImageField(upload_to='gallery')
caption = models.CharField(max_length=1000)
order = models.IntegerField(blank = True, null = True)
def __unicode__(self):
return "Photo " + str(self.order)
# admin.py
class GalleryForm(forms.ModelForm):
model = Gallery
class Media:
js = (
'/assets/js/jquery-1.4.2.min.js',
'/assets/js/jquery-ui-1.8.2.custom.min-admin-sortable.js',
'/assets/js/menu-sort.js',
)
class PhotoInline(admin.TabularInline):
model = Photo
extra = 1
template = "admin/tabular-thumbnails.html"
admin.site.register(Gallery,
inlines=[PhotoInline],
form = GalleryForm)
非常感谢,如果我能提供任何其他信息,请告诉我。我正在使用Django 1.1
答案 0 :(得分:3)
{{ form.instance }}
将始终是与modelform关联的模型实例,假设有一个。
(注意``{{formset.instance}}`是内联formset中父模型的实例。)
答案 1 :(得分:0)
在Django 2.1中,{{adminform.form.instance.field_name}}
为我工作。