我是一个正在尝试一个新项目的Django新手,我被困住了
我有一个视频模型:
class Video(models.Model):
link = models.CharField(max_length=200)
title = models.CharField(max_length=200)我想为每个视频自动生成一个指向视频缩略图的简单链接。我第一次尝试在模板中生成它,但是发现您不能在jinja中使用任何python (是的)。(我是Django的新手),然后尝试将额外的变量直接放入模型中,但是没有什么效果:
class Video(models.Model):
link = models.CharField(max_length=200)
title = models.CharField(max_length=200)
image_source = 'http://img.youtube.com/vi/'+ str(link.split('=')[1]) +'/maxresdefault.jpg'我怎么能让这件事成功呢?
(预先谢谢:)
发布于 2016-07-09 18:45:53
设置Django模型的属性是一种方法。如果不需要将此图像URL存储在数据库中,则可以执行以下操作:
class Video(models.Model):
link = models.CharField(max_length=200)
title = models.CharField(max_length=200)
@property
def image_source(self):
return 'http://img.youtube.com/vi/'+ str(self.link.split('=')[1]) +'/maxresdefault.jpg'如果您真的需要将它存储在数据库中,那也没关系!您可以尝试重写该类的save()方法,如下所示:
class Video(models.Model):
link = models.CharField(max_length=200)
title = models.CharField(max_length=200)
image_source = models.CharField(max_length=250, blank=True)
def save(self, *args, **kwargs):
# ensure image_source is always updated
self.image_source = 'http://img.youtube.com/vi/'+ str(self.link.split('=')[1]) +'/maxresdefault.jpg'
super(Video, self).save(*args, **kwargs)https://stackoverflow.com/questions/38285072
复制相似问题