Django

Code

Changeset 8601

Show
Ignore:
Timestamp:
08/26/08 16:32:17 (3 months ago)
Author:
mtredinnick
Message:

Fixed #8566 -- Allow safe-strings in the "attrs" parameter to form widgets.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/forms/util.py

    r8046 r8601  
    1 from django.utils.html import escape 
     1from django.utils.html import conditional_escape 
    22from django.utils.encoding import smart_unicode, StrAndUnicode, force_unicode 
    33from django.utils.safestring import mark_safe 
     
    1010    If the passed dictionary is empty, then return an empty string. 
    1111    """ 
    12     return u''.join([u' %s="%s"' % (k, escape(v)) for k, v in attrs.items()]) 
     12    return u''.join([u' %s="%s"' % (k, conditional_escape(v)) for k, v in attrs.items()]) 
    1313 
    1414class ErrorDict(dict, StrAndUnicode): 
  • django/trunk/django/utils/translation/trans_real.py

    r8596 r8601  
    404404    datetime_format = ugettext('DATETIME_FORMAT') 
    405405    time_format = ugettext('TIME_FORMAT') 
     406    datetime_full_format = ugettext('DATE_WITH_TIME_FULL') 
    406407    if date_format == 'DATE_FORMAT': 
    407408        date_format = settings.DATE_FORMAT 
  • django/trunk/tests/regressiontests/forms/widgets.py

    r8549 r8601  
    5050>>> w.render('email', '', attrs={'class': 'special'}) 
    5151u'<input type="text" class="special" name="email" />' 
     52 
     53'attrs' can be safe-strings if needed 
     54>>> w = TextInput(attrs={'onBlur': mark_safe("function('foo')")}) 
     55>>> print w.render('email', '') 
     56<input onBlur="function('foo')" type="text" name="email" /> 
    5257 
    5358# PasswordInput Widget ############################################################