def my_view(request): if request.method == 'POST': form = MyForm(request.POST) if form.is_valid(): # ... return HttpResponseRedirect('/thanks/') else: form = MyForm() # Load initial form fields from GET parameters for key in request.GET: try: form.fields[key].initial = request.GET[key] except KeyError: # Ignore unexpected parameters pass return render_to_response('my_template.html', {'form': form})