Форма ImageField не работает в Django - PullRequest
0 голосов
/ 06 мая 2018

Я знаю, что у меня много похожих вопросов по 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 голосов
/ 16 июля 2018

Так что проблема была проста, я делал request.POST, но img - это файл, поэтому все, что я должен был сделать, это добавить request.FILES

form = PayForm(request.POST, request.FILES or None) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...