對不起,如果這是一個明顯的問題,但我一直在尋找幾天,並沒有能夠拿出一個結果。如何在覆蓋Django管理模板時訪問模型數據?
我正在創建一個簡單的照片庫應用程序。有四個畫廊,每個畫廊都包含一張照片(該照片由'之前'圖像,'圖像和標題'之後')組成。我正在嘗試使用django-admin允許用戶點擊一個圖庫,然後添加照片。
我正在使用TabularInline編輯每個圖庫內的照片。除了TabularInline的默認列以外,我還想添加一個顯示「之前」照片和「之後」照片的縮略圖預覽的列(我正在使用簡易縮略圖)。經過大量搜索之後,似乎最好的方法是重寫django-admin tabularInline.html模板並自己添加列 - 所以我創建了另一個副本,並試圖現在編輯它。
我想要做的只是引用Django管理模板中的Photo對象,我重寫 - 但我不知道使用適當的標記。我需要參考,所以我可以將它與簡易縮略圖縮略圖標記一起使用...但對於我的生活,我無法弄清楚引用該對象的模板標記。我試着迭代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
非常感謝,這工作完美。 – 2010-06-29 13:08:02