1
0
mirror of https://github.com/django/django.git synced 2024-12-25 10:35:48 +00:00

Deprecate usage of boolean value for widget attributes

Django 1.7 will loudly warn when widget attributes are assigned
boolean values. In Django 1.8, False will mean attribute is not
present while True will mean attribute present without value.
Refs #20684.
This commit is contained in:
Claude Paroz 2013-07-05 19:33:19 +02:00
parent 7442eb1a24
commit 1116df0751

View File

@ -1,5 +1,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import warnings
from django.conf import settings from django.conf import settings
from django.utils.html import format_html, format_html_join from django.utils.html import format_html, format_html_join
from django.utils.encoding import force_text, python_2_unicode_compatible from django.utils.encoding import force_text, python_2_unicode_compatible
@ -21,6 +23,11 @@ def flatatt(attrs):
The result is passed through 'mark_safe'. The result is passed through 'mark_safe'.
""" """
if [v for v in attrs.values() if v is True or v is False]:
warnings.warn(
'The meaning of boolean values for widget attributes will change in Django 1.8',
DeprecationWarning
)
return format_html_join('', ' {0}="{1}"', sorted(attrs.items())) return format_html_join('', ' {0}="{1}"', sorted(attrs.items()))
@python_2_unicode_compatible @python_2_unicode_compatible