通过FormModel上传文件(官方描述),但form.is_valid始终为false

时间:2019-04-20 06:17:23

标签: django python-3.x django-forms

我正在尝试使用FormModel处理文件上传,但是form.is_valid()始终返回false,并且从不显示任何类型的错误。以下是来自models.py,forms.py,views的代码段.py和我的POST请求。

models.py

data = pd.read_excel('dataset.xlsx', sheet_name='Table1')

forms.py

class Pics(models.Model):
    id = models.AutoField(primary_key=True,)
    username = models.CharField(max_length=45)
    path = models.ImageField(upload_to=img_path)

views.py

class PicsForm(forms.ModelForm):
    class Meta:
        model = Pics
        fields = ['username','path']

here is my postman set

我希望输出为***,但是实际输出为'&&&&&&&&&&&

2 个答案:

答案 0 :(得分:1)

请确保您的html表单具有“ enctype =“ multipart / form-data””,并且文件上传输入具有名称“ path”,例如,您的表单应类似于:

<form action="some_url" method="POST" enctype="multipart/form-data">
    <input type='text' name='username'>
    <input type="file" name="path">
</form>

答案 1 :(得分:0)

我怀疑Postman没有设置CSRF令牌。您是否有理由使用Postman进行测试,而不是创建HTML表单并通过浏览器提交给它?我会做后者,如果仍然有问题,您可以向我们展示您的模板。