问题描述
我有一个包含内嵌表单集的表单,但无法显示从表单上传的模板中的视频。我将在模板中的 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 (将#修改为@)