diff --git a/django/test/testcases.py b/django/test/testcases.py
index 5589443..8f76d6e 100644
--- a/django/test/testcases.py
+++ b/django/test/testcases.py
@@ -128,6 +128,18 @@ class TestCase(unittest.TestCase):
             self.failUnless(real_count != 0,
                             "Couldn't find '%s' in response" % text)
 
+    def assertNotContains(self, response, text, status_code=200):
+        """
+        Asserts that a response indicates that a page was retrieved
+        successfully, (i.e., the HTTP status code was as expected), and that
+        ``text`` doesn't occurs in the content of the response.
+        """
+        self.assertEqual(response.status_code, status_code,
+            "Couldn't retrieve page: Response code was %d (expected %d)'" %
+                (response.status_code, status_code))
+        self.assertEqual(response.content.count(text), 0,
+                         "Response should't have had '%s'" % text)
+
     def assertFormError(self, response, form, field, errors):
         """
         Asserts that a form used to render the response has a specific field
diff --git a/docs/testing.txt b/docs/testing.txt
index 0ff3cce..97f5ae4 100644
--- a/docs/testing.txt
+++ b/docs/testing.txt
@@ -822,6 +822,10 @@ useful for testing Web applications:
     that ``text`` appears in the content of the response. If ``count`` is
     provided, ``text`` must occur exactly ``count`` times in the response.
 
+``assertNotContains(response, text, status_code=200)``
+    Asserts that a ``Response`` instance produced the given ``status_code`` and
+    that ``text`` does not appears in the content of the response.
+
 ``assertFormError(response, form, field, errors)``
     Asserts that a field on a form raises the provided list of errors when
     rendered on the form.
diff --git a/tests/modeltests/test_client/models.py b/tests/modeltests/test_client/models.py
index f5b1988..bc664dd 100644
--- a/tests/modeltests/test_client/models.py
+++ b/tests/modeltests/test_client/models.py
@@ -406,3 +406,9 @@ class ClientTest(TestCase):
         self.assertEqual(mail.outbox[1].to[0], 'second@example.com')
         self.assertEqual(mail.outbox[1].to[1], 'third@example.com')
 
+    def test_not_contains(self):
+        response = self.client.get('/test_client/get_view/')
+        self.assertNotContains(response, "surely not there")
+        self.assertRaises(AssertionError,
+                          self.assertNotContains, response, "This is a test")
+
