Shelley Suhling
Shelley Suhling

Reputation: 63

Django form isn't rendering at all

I'm trying to make a non model form that just gets input text for a chat like interface.

views.py

def get_input(request):
    if request.method == 'POST':
        form = inputForm(request.POST)
        if form.is_valid():
            return HttpResponseRedirect('/thanks/')

    else:
        form = inputForm()

    return render(request, 'index.html', {'form': form})


def shelley_test(request):
    form = inputForm()
    return render(request, 'shelley_test.html')

form.py

from django import forms

class inputForm(forms.Form):
    input = forms.CharField(label='input field')

shelley_test.html

<form action="/get_input/" method="get">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Submit" />
</form>

please please help. I'm new at django and stumped :(

Upvotes: 0

Views: 63

Answers (1)

Daniel Roseman
Daniel Roseman

Reputation: 600026

You're not sending the form to the context in your shelley_test method - see the difference in the render line compared with get_input.

Note though you don't need shelley_test at all: just go straight to /get_input/ to see the empty form.

Upvotes: 2

Related Questions