如何解决如何解决Django模型表格无法保存
您好,我现在尝试提交未保存数据的表单时,尝试使用Django模型表单。我可以寻求帮助吗?我不知道该实现的错误之处:
下面的代码:models.py
class Videos(models.Model):
lecturer = models.CharField(max_length=100,blank=False,null=False)
module = models.CharField(max_length=100,null=False)
video = models.FileField(upload_to='lectures/')
date = models.DateField(default=datetime.datetime.now())
下面的代码:form.py
class LectureVideos(forms.ModelForm):
class Meta:
model= Videos
fields = '__all__'
以下代码:view.py
def LectureVideoForm(request):
form = LectureVideos()
if form.is_valid():
form.save()
return redirect('upload-success')
return render(request,'forms.html',{'form':form})
以下代码:forms.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Upload</title>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Upload Video">
</form>
</body>
</html>
解决方法
您从未将数据传递给表单。如果有POST请求,则将request.POST
(和request.FILES
)传递给以下形式:
def LectureVideoForm(request):
if request.method == 'POST':
form = LectureVideos(request.POST,request.FILES)
if form.is_valid():
form.save()
return redirect('upload-success')
else:
form = LectureVideos()
return render(request,'forms.html',{'form':form})
注意:函数通常以 snake_case 而不是 PerlCase 编写,因此 建议将函数重命名为
lecture_video_form
,而不是。LectureVideoForm
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。