I'm trying to find a good way to use user-provided variables later. I've stripped it down to this minimal example:

models.py

```py
class Input(models.Model):
    x = models.IntegerField()

class InputForm(ModelForm):
    class Meta:
        model = Input

```

views.py

```py
def input(request):
    if request.method == 'POST':
        form = InputForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/results')
    else:
        form = InputForm()

    return render_to_response('input.html', 
        {'form':form}, context_instance=RequestContext(request))

def result(request):
    # Here I would like to get the input from the form, e.g.
    #
    # x = request.GET["x"]
    #
    # or
    #
    # inp = InputForm(request.GET)
    # x = inp.x
    #
    # Something like this, so that I can be able to write the line below:
    return HttpResponse("x = %f" % x)

```

What is the recommended way to do this?

EDIT:

The main problem seems to be that the request.GET dict is empty in the results function, i.e.

```py
def results(request):
    return HttpResponse(request.GET)

```

shows only an empty page. And then of course request.GET['x'] gives the exception "Key 'x' not found in QueryDict: {}". My input.html looks like this:

```html
<form method="post" action="">{% csrf_token %}
    {{ form }}
    <input type="submit" value="Compute" />
</form>

```

Ideally, I would like to be able to send request.GET back to InputForm, like in FallenAngel's original answer, but it does not work because request.GET is empty.