mirror of
https://github.com/django/django.git
synced 2025-10-27 23:56:08 +00:00
Fixed #17888 -- no longer silence exceptions inside of check_test. Thanks to brutasse for the patch.
This commit is contained in:
@@ -507,11 +507,7 @@ class CheckboxInput(Widget):
|
||||
|
||||
def render(self, name, value, attrs=None):
|
||||
final_attrs = self.build_attrs(attrs, type='checkbox', name=name)
|
||||
try:
|
||||
result = self.check_test(value)
|
||||
except: # Silently catch exceptions
|
||||
result = False
|
||||
if result:
|
||||
if self.check_test(value):
|
||||
final_attrs['checked'] = 'checked'
|
||||
if not (value is True or value is False or value is None or value == ''):
|
||||
# Only add the 'value' attribute if a value is non-empty.
|
||||
@@ -525,7 +521,7 @@ class CheckboxInput(Widget):
|
||||
return False
|
||||
value = data.get(name)
|
||||
# Translate true and false strings to boolean values.
|
||||
values = {'true': True, 'false': False}
|
||||
values = {'true': True, 'false': False}
|
||||
if isinstance(value, six.string_types):
|
||||
value = values.get(value.lower(), value)
|
||||
return value
|
||||
|
||||
Reference in New Issue
Block a user