我的Django视频上传模型显示“ValueError”

2024-09-30 14:29:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图写一个小博客,在那里我可以上传我的视频供公众下载,但当我尝试点击任何视频获取详细信息时,会收到一条服务器错误消息。下面是调试设置为True时出现的错误

ValueError at /video/lagos-anthem/
Sample larger than population or is negative
Request Method: GET
Request URL:    https://www.majestylink.com/video/lagos-anthem/
Django Version: 3.1.2
Exception Type: ValueError
Exception Value:    
Sample larger than population or is negative
Exception Location: /home/majestyempire/.virtualenvs/majestyenv/lib/python3.7/random.py, line 321, in sample
Python Executable:  /usr/local/bin/uwsgi
Python Version: 3.7.5
Python Path:    
['/var/www',
 '.',
 '',
 '/var/www',
 '/home/majestyempire/.virtualenvs/majestyenv/lib/python37.zip',
 '/home/majestyempire/.virtualenvs/majestyenv/lib/python3.7',
 '/home/majestyempire/.virtualenvs/majestyenv/lib/python3.7/lib-dynload',
 '/usr/lib/python3.7',
 '/home/majestyempire/.virtualenvs/majestyenv/lib/python3.7/site-packages',
 '/home/majestyempire/musicblog/myblog']
Server time:    Sat, 28 Nov 2020 13:49:35 +0100

下面是我的型号。py

class Video(models.Model):
    
    CATEGORY_CHOICES = (
        ('Music', 'Music'),
        ('Movies', 'Movies'),
        )

    artist = models.CharField(max_length=200, unique=True)
    category = models.CharField(max_length=30, choices=CATEGORY_CHOICES, default='Music')
    title = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(default='', blank=True, unique=True)
    thumbnail = models.ImageField(blank=False)
    video_file = models.FileField(default='')
    uploaded_date = models.DateTimeField(default=timezone.now)
    objects = PostManager()

    class Meta:
        ordering = ['-uploaded_date']

    def save(self):
        self.uploaded_date = timezone.now()
        self.slug = slugify(self.title)
        super(Video, self).save()

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('video:detail', kwargs={'slug': self.slug})

这是post_详细视图

def post_detail(request, slug):
    random_posts = random.sample(list(Video.objects.all()), 2)
    vid = get_object_or_404(Video, slug=slug)
    comments = Comment.objects.filter(post=vid)
    is_liked = False

    context = {
        'Video': Video,
        'vid': vid,
        'random_posts': random_posts,
    }
    return render(request, 'video/video_detail.html', context)

Tags: selftruedefaulthomemodelslibdefvideo