Index: django/http/__init__.py
===================================================================
--- django/http/__init__.py	(revision 209)
+++ django/http/__init__.py	(working copy)
@@ -257,11 +257,9 @@
             content_type = "%s; charset=%s" % (settings.DEFAULT_CONTENT_TYPE,
                     settings.DEFAULT_CHARSET)
         if not isinstance(content, basestring) and hasattr(content, '__iter__'):
-            self._container = content
-            self._is_string = False
+            self._container = [''.join(content) ]
         else:
             self._container = [content]
-            self._is_string = True
         self.cookies = SimpleCookie()
         if status:
             self.status_code = status
@@ -332,7 +330,6 @@
 
     def _set_content(self, value):
         self._container = [value]
-        self._is_string = True
 
     content = property(_get_content, _set_content)
 
@@ -353,16 +350,12 @@
     # The remaining methods partially implement the file-like object interface.
     # See http://docs.python.org/lib/bltin-file-objects.html
     def write(self, content):
-        if not self._is_string:
-            raise Exception, "This %s instance is not writable" % self.__class__
         self._container.append(content)
 
     def flush(self):
         pass
 
     def tell(self):
-        if not self._is_string:
-            raise Exception, "This %s instance cannot tell its position" % self.__class__
         return sum([len(chunk) for chunk in self._container])
 
 class HttpResponseRedirect(HttpResponse):
Index: tests/regressiontests/httpwrappers/tests.py
===================================================================
--- tests/regressiontests/httpwrappers/tests.py	(revision 7003)
+++ tests/regressiontests/httpwrappers/tests.py	(working copy)
@@ -426,6 +426,44 @@
 Traceback (most recent call last):
 ...
 UnicodeEncodeError: ..., HTTP response headers must be in US-ASCII format
+
+######################################
+# HttpResponse with iterable content #
+######################################
+
+>>> from django.http import HttpResponse
+>>> response = HttpResponse(file('regressiontests/httpwrappers/helloworld.txt','r'))
+>>> print response
+Content-Type: text/html; charset=utf-8
+<BLANKLINE>
+Hello world.
+Hello, world!
+
+>>> print response
+Content-Type: text/html; charset=utf-8
+<BLANKLINE>
+Hello world.
+Hello, world!
+
+>>> print response
+Content-Type: text/html; charset=utf-8
+<BLANKLINE>
+Hello world.
+Hello, world!
+>>> response = HttpResponse("abc")
+>>> print response
+Content-Type: text/html; charset=utf-8
+<BLANKLINE>
+abc
+>>> print response
+Content-Type: text/html; charset=utf-8
+<BLANKLINE>
+abc
+>>> print response
+Content-Type: text/html; charset=utf-8
+<BLANKLINE>
+abc
+
  
 """
 
Index: tests/regressiontests/httpwrappers/helloworld.txt
===================================================================
--- tests/regressiontests/httpwrappers/helloworld.txt	(revision 0)
+++ tests/regressiontests/httpwrappers/helloworld.txt	(revision 0)
@@ -0,0 +1,2 @@
+Hello world.
+Hello, world!
\ No newline at end of file
