title: Django Forms - Processing GET Requests
body: <p>We have an existing Django form that accepts GET requests to allow users to bookmark their resulting query parameters. The form contains many fields, most of which are required. The form uses semi-standard boilerplate for handling the request, substituting GET for POST:</p>
  
  <pre><code>if request.method == 'GET':
     form = myForm(request.GET)
     if form.isValid()
        # Gather fields together into query.
  else
     form = myForm()
  </code></pre>
  
  <p>The problem is that the first time the form is loaded, there's nothing in the GET request to populate the required fields with, so most of the form lights up with 'missing field' errors.</p>
  
  <p>Setting initial values doesn't work; apparently, the non-existent values in the GET request override them.</p>
  
  <p>How can we avoid this? I'm pretty certain we're simply not processing things correctly, but I can't find an example of a form that handles GET requests. We want errors to show up if the user hits the "Submit" button while fields are blank or otherwise invalid, but don't want these errors showing up when the form is initially displayed.</p>