title: Urllib2 - Django - Broken Pipe
body: <p>I am new to Django and I am experiencing some troubles posting data to a django webapp.</p>
  
  <p>On the django side I have a form (backed by couchdb - couchdbkit django ext.).
  On the client side I post data with urllib2, in bulk (going through a list of data to post one by one)</p>
  
  <pre><code>data = urllib.urlencode(param)
  req = urllib2.Request(OBJECT_SERVICE_URL + '/objects/create/', data)
  req.add_header('Content-type', 'application/x-www-form-urlencoded')
  res = urllib2.urlopen(req)
  res.close()
  </code></pre>
  
  <p>After one record (one post passing), it get the message below, running again the next line passes and I have again this message :</p>
  
  <pre><code>       res = urllib2.urlopen(req)
    File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
      return _opener.open(url, data, timeout)
    File "/usr/lib/python2.6/urllib2.py", line 397, in open
      response = meth(req, response)
    File "/usr/lib/python2.6/urllib2.py", line 510, in http_response
      'http', request, response, code, msg, hdrs)
    File "/usr/lib/python2.6/urllib2.py", line 435, in error
      return self._call_chain(*args)
    File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
      result = func(*args)
    File "/usr/lib/python2.6/urllib2.py", line 518, in http_error_default
      raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 500: INTERNAL SERVER ERROR
  </code></pre>
  
  <p>The server says :</p>
  
  <pre><code>    Traceback (most recent call last):
    File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 284, in run
      self.finish_response()
    File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 324, in finish_response
      self.write(data)
    File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 420, in write
      self._write(data)
    File "/usr/lib/python2.6/socket.py", line 318, in write
  ----------------------------------------
  Exception happened during processing of request from ('127.0.0.1', 59571)
      self.flush()
    File "/usr/lib/python2.6/socket.py", line 297, in flush
      self._sock.sendall(buffer(data, write_offset, buffer_size))
  error: [Errno 104] Connection reset by peer
  Traceback (most recent call last):
    File "/usr/lib/python2.6/SocketServer.py", line 283, in _handle_request_noblock
  ----------------------------------------
      self.process_request(request, client_address)
    File "/usr/lib/python2.6/SocketServer.py", line 309, in process_request
      self.finish_request(request, client_address)
    File "/usr/lib/python2.6/SocketServer.py", line 322, in finish_request
      self.RequestHandlerClass(request, client_address, self)
    File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 570, in __init__
      BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
    File "/usr/lib/python2.6/SocketServer.py", line 618, in __init__
      self.finish()
    File "/usr/lib/python2.6/SocketServer.py", line 661, in finish
      self.wfile.flush()
    File "/usr/lib/python2.6/socket.py", line 297, in flush
      self._sock.sendall(buffer(data, write_offset, buffer_size))
  error: [Errno 32] Broken pipe
  </code></pre>
  
  <p>I must state that I am working on the embedded django development web server...</p>
  
  <p>And here is the output of the test :</p>
  
  <pre><code>======================================================================
  ERROR: test_create_object (objects.tests.ObjectAppTest)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/patrick/workspace_py/objects/tests.py", line 21, in test_create_object
      rs = c.post('/objects/create/', param)
    File "/usr/local/lib/python2.6/dist-packages/django/test/client.py", line 455, in post
      response = super(Client, self).post(path, data=data, content_type=content_type, **extra)
    File "/usr/local/lib/python2.6/dist-packages/django/test/client.py", line 256, in post
      return self.request(**r)
    File "/usr/local/lib/python2.6/dist-packages/django/test/client.py", line 387, in request
      response = self.handler(environ)
    File "/usr/local/lib/python2.6/dist-packages/django/test/client.py", line 84, in __call__
      response = self.get_response(request)
    File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py", line 169, in get_response
      response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
    File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py", line 218, in handle_uncaught_exception
      return callback(request, **param_dict)
    File "/home/patrick/workspace_py/env/lib/python2.6/site-packages/coffin/views/defaults.py", line 34, in server_error
      content = render_to_string(template_name, Context({}))
    File "/home/patrick/workspace_py/env/lib/python2.6/site-packages/coffin/template/loader.py", line 50, in render_to_string
      template = get_template(template_name)
    File "/home/patrick/workspace_py/env/lib/python2.6/site-packages/coffin/template/loader.py", line 24, in get_template
      return env.get_template(template_name)
    File "/home/patrick/workspace_py/env/lib/python2.6/site-packages/jinja2/environment.py", line 719, in get_template
      return self._load_template(name, self.make_globals(globals))
    File "/home/patrick/workspace_py/env/lib/python2.6/site-packages/jinja2/environment.py", line 693, in _load_template
      template = self.loader.load(self, name, globals)
    File "/home/patrick/workspace_py/env/lib/python2.6/site-packages/jinja2/loaders.py", line 115, in load
      source, filename, uptodate = self.get_source(environment, name)
    File "/home/patrick/workspace_py/env/lib/python2.6/site-packages/jinja2/loaders.py", line 377, in get_source
      raise TemplateNotFound(template)
  TemplateNotFound: 500.html
  
  ----------------------------------------------------------------------
  </code></pre>
  
  <p>Does anyone know how to fix ?</p>
  
  <p>Patrick</p>