ImageField表单在django中不起作用

时间:2018-05-06 20:05:27

标签: python django forms

我知道在stackoverflow上有很多类似的问题,但没有一个能解决我的问题。

我有一个带有图像字段的表单,它不起作用,因为它应该在成功时重定向到索引页面,但事实并非如此。我可以使用管理面板中的该图片创建付款,但表单不起作用。

models.py

class Payment(models.Model):
    Address = models.CharField(max_length=255)
    Payment_ID = models.ImageField(upload_to='payproof')
    Status = models.CharField(max_length=5, default="X")
    Review_result = models.CharField(max_length=255, default="Not yet reviewed")
    created = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ['-created']

        def __unicode__(self):
            return u'%s'% self.Status

    def __str__(self):
        return self.Status

views.py

def new_payment(request):
    template ='payment.html'
    form = PayForm(request.POST or None)

    if form.is_valid():
        form.save()
        return redirect('index')

    else:
        form = PayForm()

    context = {
        'form' : form,
    }
    return render(request, template, context)

forms.py

class PayForm(forms.ModelForm):
    Payment_ID = forms.ImageField()

    class Meta:
        model = Payment
        fields = ['Address',
         'Payment_ID']

1 个答案:

答案 0 :(得分:0)

所以问题很简单,我正在做request.POST,但是img是一个文件,所以我要做的所有事情就是添加request.FILES

form = PayForm(request.POST, request.FILES or None)