我创建了一个向导表单,在添加 ImageField 之前该表单一直有效。
当我提交带有所选图像文件的表单时,我返回到页面,指出需要 ImageField。
我已经设置了 MEDIA_ROOT 并且可以正常工作。
以下是我认为有问题的代码片段:
模型.py
# CreatePuzzleWizard forms
class uploadForm(forms.Form):
puzzle_image = forms.ImageField()
puzzle_name = forms.CharField(max_length=30, widget=forms.TextInput(attrs={'class':'form-control'}))
puzzle_description = forms.CharField(max_length=300, widget=forms.TextInput(attrs={'class':'form-control'}))
View .py
class CreatePuzzleWizard(SessionWizardView):
template_name = "create.html"
file_storage = FileSystemStorage(location=os.path.join(settings.MEDIA_ROOT, 'tmp'))
def done(self, form_list, **kwargs):
form_data = process_form_data(form_list)
return render('complete.html', {'form_list', form_list})
def process_form_data(form_list):
form_data = [form.cleaned_data for form in form_list]
# do stuff with form data
return form_data
我遇到这个问题:
我在网上似乎找不到这个问题。我正在使用 Django 1.6.1
最佳答案
Django 文档指出,不幸的是,将上传的文件绑定(bind)到表单字段时需要做一些工作:
https://docs.djangoproject.com/en/dev/ref/forms/api/#binding-uploaded-files-to-a-form
关于python - ImageField 和 Django 向导表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21225865/