Django models 我想在管理面板的change_列表中使用水平过滤器显示视频thumnail,视频是一个ManyToManyField
在models.py中:Django models 我想在管理面板的change_列表中使用水平过滤器显示视频thumnail,视频是一个ManyToManyField,django-models,django-admin-tools,Django Models,Django Admin Tools,在models.py中: class VideoList(models.Model): #rest of the code url = models.URLField(blank=True) video = models.FileField(upload_to='videos/', default='videos/') artists = models.ManyToManyField(Artist) def __str__(self):
class VideoList(models.Model):
#rest of the code
url = models.URLField(blank=True)
video = models.FileField(upload_to='videos/', default='videos/')
artists = models.ManyToManyField(Artist)
def __str__(self):
return self.title
class VideoInSection(models.Model):
#rest of the code
video_id = models.ManyToManyField(VideoList)
section_id = models.ForeignKey(SectionList, on_delete=models.CASCADE)
@property
def thumbnail_preview(self):
if self.video_id:
return mark_safe(('<video style="width:320px;height:240px;" src="{}" type="video/mp4" controls />').format(self.video_id.all()))
return ""
def __str__(self):
return 'Video'
更好的问题是:
我想显示一个框,其中我有视频表中使用多对多字段的视频,想选择多个视频并添加到特定部分,还想在多选择框中显示视频缩略图,以便用户可以通过检查播放视频的类别来观看和选择视频,但无法获得解决方案,请提供帮助我我对Django不太在行。提前谢谢
我希望这个问题能清楚地说明
class VideoInSectionAdmin(admin.ModelAdmin):
search_fields = ['app_id__app_name', 'package_id__package_name', 'video_id__title', 'section_id__section_name']
list_display = ['app_id', 'package_id', 'thumbnail_preview', 'section_id']
fieldsets = (
(None, {
'fields': (('app_id', 'package_id', 'section_id'), 'video_id', 'thumbnail_preview')
}),
)
filter_vertical = ('video_id',)
def thumbnail_preview(self, obj):
return obj.thumbnail_preview
thumbnail_preview.allow_tags = True
list_per_page = 10
readonly_fields = ('thumbnail_preview',)