好,所以我需要实现一个下拉菜单,从中可以从文件夹目录中选择一些文件。我已经具有显示文件的下拉列表,但是在进行查询时出现此错误django.utils.datastructures.MultiValueDictKeyError:'xxxxxx'
,我不确定是要传递整个文件还是只是传递文件名。我可以做为<select type="file">
吗?还是可以将隐藏的输入type =“ file”连接到选择项?谢谢
答案 0 :(得分:1)
您的下拉列表应该只是文件名列表,您可以在清理输入时将其转换为路径
class FileSelectForm(forms.Form):
file = forms.ChoiceField(choices=list_of_files)
def clean_file(self):
file_name = self.cleaned_data['file']
file_path = ... # You'll need to convert the name to a full path here
return open(file_path)
现在,当您的表单提交并有效时,您将在清除的数据中拥有一个用于选定文件的打开文件对象
form = FileSelectForm(request.POST)
if form.is_valid():
form.cleaned_data['file'] # This will be a file object