diff options
| author | Claude Paroz <claude@2xlibre.net> | 2014-03-13 16:55:38 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2014-03-13 16:58:14 +0100 |
| commit | 5a976b4bec79cdb6b75581be6478356fb13fda77 (patch) | |
| tree | 28a034dcc3a19ced90d0cafd9152cf7b212e8406 /django | |
| parent | 958b511a80c01ac010561c8fefe4548203700fa3 (diff) | |
Fixed #22245 -- Avoided widget overwrite in forms.IntegerField subclasses
Thanks Jeroen Pulles for the report and Simon Charette for the review.
Diffstat (limited to 'django')
| -rw-r--r-- | django/forms/fields.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py index b9a3d4d6c5..63ed153f0b 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -231,13 +231,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: |
