如何从内联表单集中在模板中显示视频?

问题描述

我有一个包含内嵌表单集的表单,但无法显示从表单上传的模板中的视频。我将在模板中的 html 行中添加什么作为源,以便显示视频上传?谢谢。

models.py:

class Profile(models.Model):
    user = models.OnetoOneField(User,on_delete=models.CASCADE)
    first_name = models.CharField(max_length=100,blank=True)
    last_name = models.CharField(max_length=100,blank=True)
    bio = models.TextField(max_length=150,null=True)
    phone_number = models.CharField(max_length=50,null=True,blank=True)


    def __str__(self):
        return self.user.username


class MultipleFileUpload(models.Model):
    file_uploads = models.ForeignKey(Profile,on_delete=models.CASCADE)
    video = models.FileField(null=True,blank=True,upload_to='videos')

    def __str__(self):
        return self.user.username

@receiver(post_save,sender=User)
def update_profile_signal(sender,instance,created,**kwargs):
    if created:
        Profile.objects.create(user=instance)

@receiver(post_save,sender=User)
def save_user_profile(sender,**kwargs):
    instance.profile.save()

forms.py:

class EditProfile(forms.ModelForm):
    
    class Meta:
        model = Profile

        fields = ['bio','phone_number']

class ProfileUpdateFormset(forms.ModelForm):
    class Meta:
        model = MultipleFileUpload

        fields = ['video']

views.py:

def edit(request,id):
    all_objects = get_object_or_404(Profile,id=id)
    ProfileFormset = inlineformset_factory(Profile,MultipleFileUpload,fields=('video',),can_order=False,can_delete=True,extra=1)
    if request.method == 'POST':
        form1 = EditProfile(request.POST or None,instance=all_objects)
        formset = ProfileFormset(request.POST,request.FILES,instance=all_objects)
        if form1.is_valid() and formset.is_valid():
            form1.save()
            formset.save()
            return HttpResponseRedirect(".")
    form1 = EditProfile(instance=all_objects)
    formset = ProfileFormset(instance=all_objects)
    context = {
            'form1': form1,'formset': formset,}
    return render(request,'accounts/edit.html',context)

html:

<video width="350" height="200" source src="{{ user.profile.file_uploads.video.url }}" controls></video></p>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)