Django File Upload - form.is_valid() always false

Viewed 135

Any help would be greatly appreciated. I am just starting with Django and ran into this issue. I have tried doing just a form as well without a model but still no luck.

Here is my form html

  <form enctype="multipart/form-data" action="/upload" method="post">
    {% csrf_token %}
    <input id="your_image" type="file" name="your_image">
    <input class="upload-button" type="submit" value="Upload Now">
</form>

Here is my views method

from .forms import UploadFileForm
from .models import UploadFileModel

def upload(request):
    form = UploadFileForm()

    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            print("file uploaded!")
            return render(request, 'pages/index.html')
        else:
            print("no luck")
            return render(request, 'pages/index.html')
    else:
        print("other function")
        return render(request, 'pages/index.html')

Here is my models.py

from django.db import models

class UploadFileModel(models.Model):
    file = models.FileField(upload_to='images')
    def __str__(self):
        return self.file

And here is my forms.py

from django import forms
from .models import UploadFileModel


class UploadFileForm(forms.ModelForm):
    class Meta:
        model = UploadFileModel
        fields = ['file']
0 Answers
Related