我正在使用以下表格上传多张图片。
class AlbumForm(forms.Form):
album_name = forms.CharField(label='Titel', max_length=100, required=True)
album_description = forms.CharField(label='Beschrijving', widget=forms.Textarea)
images = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
在接收视图中,我注意到当我将request.POST传递到表单时,无法访问表单中的图像。另一方面,当我将请求本身传递给表单时,我可以访问文件,但不能使用form.isValid()方法。
只有多张图片文件不可用,其他两个值照常可用。
def post(self, request, *args, **kwargs):
images_form = AlbumForm(request)
...
if images_form.is_valid():
images = images_form.data.FILES.getlist('images')
Imgur().create_album(title=images_form.album_name, description=images_form.album_description, images=images)
...
以下是表单的html代码
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{images_form|crispy}}
<input class="" type="submit" value="save">
</form>
造成这种差异的原因是什么,或者我做错了什么?
Edit:仅使用请求时,名称和描述不可用,所以我想正确的方法是使用request.POST,但是访问文件的正确方法是什么