Commit df60db0e authored by Ben Davis's avatar Ben Davis Committed by Tim Graham
Browse files

Fixed #22570 -- Made Form.__getitem__ KeyError more descriptive.

parent 6923fdbb
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -142,7 +142,8 @@ class BaseForm(object):
        try:
            field = self.fields[name]
        except KeyError:
            raise KeyError('Key %r not found in Form' % name)
            raise KeyError(
                "Key %r not found in '%s'" % (name, self.__class__.__name__))
        return BoundField(self, field, name)

    @property
+3 −3
Original line number Diff line number Diff line
@@ -58,11 +58,11 @@ class FormsTestCase(TestCase):
        self.assertHTMLEqual(str(p['first_name']), '<input type="text" name="first_name" value="John" id="id_first_name" />')
        self.assertHTMLEqual(str(p['last_name']), '<input type="text" name="last_name" value="Lennon" id="id_last_name" />')
        self.assertHTMLEqual(str(p['birthday']), '<input type="text" name="birthday" value="1940-10-9" id="id_birthday" />')
        try:

        nonexistenterror = "Key u?'nonexistentfield' not found in 'Person'"
        with self.assertRaisesRegexp(KeyError, nonexistenterror):
            p['nonexistentfield']
            self.fail('Attempts to access non-existent fields should fail.')
        except KeyError:
            pass

        form_output = []