user2739518
user2739518

Reputation: 217

django forms, not valid

so no matter what I seem to do I can't get a valid form from just a integer field.

Controller:

def upload_image(request):

    if request.method == "POST":

        form = AddFloorplan(request.POST, request.FILES)

        print request.POST.get('floornumber')


        if form.is_valid():
            print 'valid'
        else:
            print(form.errors)

        return redirect("/wayfinder/editor/")

Form:

class AddFloorplan(forms.Form):
    floor_number = forms.IntegerField(required=True)

Template:

            <form action="/wayfinder/addfloorplan/" method="POST" enctype="multipart/form-data"> {% csrf_token %}

                <div class="input-field col s12">
                    <input id="floornumber" autofocus name="floornumber" placeholder="Floor Number" type="text" required>
                </div>

                <div class="col s12">
                    <p>
                        <button class="btn waves-effect waves-light z-depth-0" type="submit" name="action">
                            <span>Upload</span>
                        </button>
                    </p>
                </div>

            </form>

had no luck passing the values

Upvotes: 0

Views: 2381

Answers (1)

Alasdair
Alasdair

Reputation: 308779

The name of your form field, floor_number

floor_number = forms.IntegerField(required=True)

does not match the name of your form input, floornumber

<input id="floornumber" autofocus name="floornumber" placeholder="Floor Number" type="text" required>

You need to use the same name in both places.

Upvotes: 2

Related Questions