summaryrefslogtreecommitdiff
path: root/django/forms/fields.py
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2014-03-13 16:55:38 +0100
committerClaude Paroz <claude@2xlibre.net>2014-03-13 16:59:23 +0100
commit1a2939bc26b7077e3196cea9bce52826ec7a6d9d (patch)
tree830b645242eaebdfb6cabe058b4b9bd7ce6ab510 /django/forms/fields.py
parent141bb90b4c66cca1c4bfafe2a0e5c5777c55c61c (diff)
[1.6.x] Fixed #22245 -- Avoided widget overwrite in forms.IntegerField subclasses
Thanks Jeroen Pulles for the report and Simon Charette for the review. Backport of 5a976b4bec7 from master.
Diffstat (limited to 'django/forms/fields.py')
-rw-r--r--django/forms/fields.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py
index c94a5641c4..966b303ead 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -216,13 +216,16 @@ class CharField(Field):
class IntegerField(Field):
+ widget = NumberInput
default_error_messages = {
'invalid': _('Enter a whole number.'),
}
def __init__(self, max_value=None, min_value=None, *args, **kwargs):
self.max_value, self.min_value = max_value, min_value
- kwargs.setdefault('widget', NumberInput if not kwargs.get('localize') else self.widget)
+ if kwargs.get('localize') and self.widget == NumberInput:
+ # Localized number input is not well supported on most browsers
+ kwargs.setdefault('widget', super(IntegerField, self).widget)
super(IntegerField, self).__init__(*args, **kwargs)
if max_value is not None: