Forráskód Böngészése

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.
Claude Paroz 11 éve
szülő
commit
1116df0751
1 módosított fájl, 7 hozzáadás és 0 törlés
  1. 7 0
      django/forms/util.py

+ 7 - 0
django/forms/util.py

@@ -1,5 +1,7 @@
 from __future__ import unicode_literals
 
+import warnings
+
 from django.conf import settings
 from django.utils.html import format_html, format_html_join
 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'.
     """
+    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()))
 
 @python_2_unicode_compatible