我正在创建一个网站,用户可以在其中上传音乐文件,并将其保存在目录中。所以我添加了以下html表单:
<form action='upload/' method='POST' enctype="multipart/form-data">{% csrf_token %}
<input type="file" name="file">
<input type="submit" name="">
</form>
我已成功配置 URL 来处理此请求。这是此 url 指向的视图:
def uploadMusic(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
return HttpResponse('Success')
else:
return HttpResponse('Could not verify')
else:
form = UploadFileForm()
return HttpResponse('Failed')
另外,我希望在将音乐文件保存到目录之前对其进行验证。我希望文件大小小于 4mb。在我的 forms.py 文件中,我添加了以下代码:
from django import forms
class UploadFileForm(forms.Form):
title = forms.CharField(max_length=50)
file = forms.FileField()
def clean(self):
file = self.cleaned_data.get('file', False)
if file:
if file._size > 4*1024*1024:
return 'Error'
else:
return file
else:
raise forms.ValidationError('Wrong')
好的,问题是,我无法正常工作。我没有收到任何错误,但尽管文件大小,但文件已成功上传。PS:我是初学者