gpt4 book ai didi

django - 覆盖 Django 管理模板时如何访问模型数据?

转载 作者:行者123 更新时间:2023-12-02 08:58:22 24 4
gpt4 key购买 nike

很抱歉,如果这是一个明显的问题,但我已经搜索了几天但无法得出结果。

我正在创建一个简单的照片库应用程序。有四个画廊,每个画廊都包含一张照片(照片由“之前”图像、“之后”图像和标题组成)。我正在尝试使用 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

最佳答案

在 Django 2.1 中 {{adminform.form.instance.field_name}} 为我工作。

关于django - 覆盖 Django 管理模板时如何访问模型数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com