Example #1
0
 def tag(self):
     if 'id' in self.attrs:
         self.attrs['id'] = '%s_%s' % (self.attrs['id'], self.index)
     final_attrs = dict(self.attrs, type='radio', name=self.name, value=self.choice_value)
     if self.is_checked():
         final_attrs['checked'] = 'checked'
     return mark_safe(u'<input%s />' % flatatt(final_attrs))
Example #2
0
 def render(self, name, value, attrs=None):
     if value is None: value = ''
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     if value != '':
         # Only add the 'value' attribute if a value is non-empty.
         final_attrs['value'] = force_unicode(value)
     return mark_safe(u'<input%s />' % flatatt(final_attrs))
Example #3
0
    def render(self, name, value, attrs=None):
        if value is None:
            value = ''
        final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)

        if value != '':
            # Only add the 'value' attribute if a value is non-empty.
            final_attrs['value'] = force_unicode(self._format_value(value))
        if self.datalist is not None and isinstance(self.datalist, (tuple, list)):
            datalist_name = u'%s_datalist' % name
            final_attrs['list'] = force_unicode(u'%s_datalist' % name)
            return mark_safe(u"""<input%s >%s"""
                    % (flatatt(final_attrs),
                        render_datalist(datalist_name, self.datalist)))
        else:
            return mark_safe(u'<input%s >' % flatatt(final_attrs))
Example #4
0
 def render(self, name, value, attrs=None):
     if value is None:
         value = ""
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     if value != "":
         final_attrs["value"] = smart_unicode(value)  # Only add the 'value' attribute if a value is non-empty.
     return u"<input%s />" % flatatt(final_attrs)
Example #5
0
 def render(self, name, value, attrs=None):
     if value is None: value = ''
     value = force_unicode(value)
     final_attrs = self.build_attrs(attrs, name=name)
     return mark_safe(
         u'<textarea%s>%s</textarea>' %
         (flatatt(final_attrs), conditional_escape(force_unicode(value))))
Example #6
0
    def render(self, name, value, attrs=None):
        if value is None:
            value = ''
        final_attrs = self.build_attrs(attrs, name=name)

        return mark_safe(u'<textarea%s>%s</textarea>' % (flatatt(final_attrs),
                conditional_escape(force_unicode(value))))
Example #7
0
 def tag(self):
     if 'id' in self.attrs:
         self.attrs['id'] = '%s_%s' % (self.attrs['id'], self.index)
     final_attrs = dict(self.attrs, type='radio', name=self.name, value=self.choice_value)
     if self.is_checked():
         final_attrs['checked'] = 'checked'
     return mark_safe(u'<input%s />' % flatatt(final_attrs))
Example #8
0
 def tag(self):
     if self.attrs.has_key("id"):
         self.attrs["id"] = "%s_%s" % (self.attrs["id"], self.index)
     final_attrs = dict(self.attrs, type="radio", name=self.name, value=self.choice_value)
     if self.is_checked():
         final_attrs["checked"] = "checked"
     return u"<input%s />" % flatatt(final_attrs)
Example #9
0
 def render(self, name, value, attrs=None):
     if value is None: value = ''
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     if value != '':
         # Only add the 'value' attribute if a value is non-empty.
         final_attrs['value'] = force_unicode(value)
     return mark_safe(u'<input%s />' % flatatt(final_attrs))
Example #10
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None:
         value = []
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     return mark_safe(
         u"\n".join([(u"<input%s />" % flatatt(dict(value=force_unicode(v), **final_attrs))) for v in value])
     )
Example #11
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     return mark_safe(u'\n'.join([
         (u'<input%s />' %
          flatatt(dict(value=force_unicode(v), **final_attrs)))
         for v in value
     ]))
Example #12
0
 def render(self, name, value, attrs=None):
     if value is None:
         value = ""
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     if value != "":
         # Only add the 'value' attribute if a value is non-empty.
         final_attrs["value"] = force_unicode(self._format_value(value))
     return mark_safe(u"<input%s />" % flatatt(final_attrs))
Example #13
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, name=name)
     output = [u'<select multiple="multiple"%s>' % flatatt(final_attrs)]
     options = self.render_options(choices, value)
     if options:
         output.append(options)
     output.append('</select>')
     return mark_safe(u'\n'.join(output))
Example #14
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, name=name)
     output = [u'<select multiple="multiple"%s>' % flatatt(final_attrs)]
     options = self.render_options(choices, value)
     if options:
         output.append(options)
     output.append('</select>')
     return mark_safe(u'\n'.join(output))
Example #15
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None:
         value = ""
     final_attrs = self.build_attrs(attrs, name=name)
     output = [u"<select%s>" % flatatt(final_attrs)]
     options = self.render_options(choices, [value])
     if options:
         output.append(options)
     output.append(u"</select>")
     return mark_safe(u"\n".join(output))
Example #16
0
 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:
         final_attrs["checked"] = "checked"
     if value not in ("", True, False, None):
         final_attrs["value"] = smart_unicode(value)  # Only add the 'value' attribute if a value is non-empty.
     return u"<input%s />" % flatatt(final_attrs)
Example #17
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, name=name)
     output = [u'<select multiple="multiple"%s>' % flatatt(final_attrs)]
     str_values = set([smart_unicode(v) for v in value]) # Normalize to strings.
     for option_value, option_label in chain(self.choices, choices):
         option_value = smart_unicode(option_value)
         selected_html = (option_value in str_values) and ' selected="selected"' or ''
         output.append(u'<option value="%s"%s>%s</option>' % (escape(option_value), selected_html, escape(smart_unicode(option_label))))
     output.append(u'</select>')
     return u'\n'.join(output)
Example #18
0
 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:
         final_attrs['checked'] = 'checked'
     if value not in ('', True, False, None):
         # Only add the 'value' attribute if a value is non-empty.
         final_attrs['value'] = force_unicode(value)
     return mark_safe(u'<input%s />' % flatatt(final_attrs))
Example #19
0
 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:
         final_attrs['checked'] = 'checked'
     if value not in ('', True, False, None):
         # Only add the 'value' attribute if a value is non-empty.
         final_attrs['value'] = force_unicode(value)
     return mark_safe(u'<input%s />' % flatatt(final_attrs))
 def render_option(self, selected_choices, option_value, option_label, *args, **kw):
     option_value = force_text(option_value)
     selected_html = ''
     if args and type(args[0]) == type({}):
         selected_html += flatatt(args[0])
     if option_value in selected_choices:
         selected_html += ' selected="selected"'
         if not self.allow_multiple_selected:
             # Only allow for a single selection.
             selected_choices.remove(option_value)
     selected_html = mark_safe(selected_html)
     return format_html('<option value="{0}"{1}>{2}</option>',
             option_value, selected_html, force_text(option_label))
Example #21
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     id_ = final_attrs.get('id', None)
     inputs = []
     for i, v in enumerate(value):
         input_attrs = dict(value=force_unicode(v), **final_attrs)
         if id_:
             # An ID attribute was given. Add a numeric index as a suffix
             # so that the inputs don't all have the same ID attribute.
             input_attrs['id'] = '%s_%s' % (id_, i)
         inputs.append(u'<input%s />' % flatatt(input_attrs))
     return mark_safe(u'\n'.join(inputs))
Example #22
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     id_ = final_attrs.get('id', None)
     inputs = []
     for i, v in enumerate(value):
         input_attrs = dict(value=force_unicode(v), **final_attrs)
         if id_:
             # An ID attribute was given. Add a numeric index as a suffix
             # so that the inputs don't all have the same ID attribute.
             input_attrs['id'] = '%s_%s' % (id_, i)
         inputs.append(u'<input%s />' % flatatt(input_attrs))
     return mark_safe(u'\n'.join(inputs))
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = ''
     final_attrs = self.build_attrs(attrs, name=name)
     output = [u'<select%s>' % flatatt(final_attrs)]
     str_value = smart_unicode(value)  # Normalize to string.
     for option_value, option_label in chain(self.choices, choices):
         option_value = smart_unicode(option_value)
         selected_html = (option_value
                          == str_value) and u' selected="selected"' or ''
         output.append(u'<option value="%s"%s>%s</option>' %
                       (escape(option_value), selected_html,
                        escape(smart_unicode(option_label))))
     output.append(u'</select>')
     return u'\n'.join(output)
Example #24
0
 def render_option(self, selected_choices, option_value, option_label,
                   *args, **kw):
     option_value = force_text(option_value)
     selected_html = ''
     if args and type(args[0]) == type({}):
         selected_html += flatatt(args[0])
     if option_value in selected_choices:
         selected_html += ' selected="selected"'
         if not self.allow_multiple_selected:
             # Only allow for a single selection.
             selected_choices.remove(option_value)
     selected_html = mark_safe(selected_html)
     return format_html('<option value="{0}"{1}>{2}</option>', option_value,
                        selected_html, force_text(option_label))
Example #25
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = ''
     final_attrs = self.build_attrs(attrs, name=name)
     output = [u'<select%s>' % flatatt(final_attrs)]
     # Normalize to string.
     str_value = force_unicode(value)
     for option_value, option_label in chain(self.choices, choices):
         option_value = force_unicode(option_value)
         selected_html = (option_value == str_value) and u' selected="selected"' or ''
         output.append(u'<option value="%s"%s>%s</option>' % (
                 escape(option_value), selected_html,
                 conditional_escape(force_unicode(option_label))))
     output.append(u'</select>')
     return mark_safe(u'\n'.join(output))
Example #26
0
    def label_tag(self, contents=None, attrs=None):
        """
        Wraps the given contents in a <label>, if the field has an ID attribute.
        Does not HTML-escape the contents. If contents aren't given, uses the
        field's HTML-escaped label.

        If attrs are given, they're used as HTML attributes on the <label> tag.
        """
        contents = contents or conditional_escape(self.label)
        widget = self.field.widget
        id_ = widget.attrs.get('id') or self.auto_id
        if id_:
            attrs = attrs and flatatt(attrs) or ''
            contents = u'<label for="%s"%s>%s</label>' % (widget.id_for_label(id_), attrs, unicode(contents))
        return mark_safe(contents)
Example #27
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None:
         value = ""
     final_attrs = self.build_attrs(attrs, name=name)
     output = [u"<select%s>" % flatatt(final_attrs)]
     str_value = smart_unicode(value)  # Normalize to string.
     for option_value, option_label in chain(self.choices, choices):
         option_value = smart_unicode(option_value)
         selected_html = (option_value == str_value) and u' selected="selected"' or ""
         output.append(
             u'<option value="%s"%s>%s</option>'
             % (escape(option_value), selected_html, escape(smart_unicode(option_label)))
         )
     output.append(u"</select>")
     return u"\n".join(output)
Example #28
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, name=name)
     output = [u'<select multiple="multiple"%s>' % flatatt(final_attrs)]
     str_values = set([force_unicode(v)
                       for v in value])  # Normalize to strings.
     for option_value, option_label in chain(self.choices, choices):
         option_value = force_unicode(option_value)
         selected_html = (option_value
                          in str_values) and ' selected="selected"' or ''
         output.append(u'<option value="%s"%s>%s</option>' %
                       (escape(option_value), selected_html,
                        conditional_escape(force_unicode(option_label))))
     output.append(u'</select>')
     return mark_safe(u'\n'.join(output))
    def label_tag(self, contents=None, attrs=None):
        """
        Wraps the given contents in a <label>, if the field has an ID attribute.
        Does not HTML-escape the contents. If contents aren't given, uses the
        field's HTML-escaped label.

        If attrs are given, they're used as HTML attributes on the <label> tag.
        """
        contents = contents or conditional_escape(self.label)
        widget = self.field.widget
        id_ = widget.attrs.get('id') or self.auto_id
        if id_:
            attrs = attrs and flatatt(attrs) or ''
            contents = u'<label for="%s"%s>%s</label>' % (widget.id_for_label(id_), attrs, unicode(contents))
        return mark_safe(contents)
 def render(self, name, value, attrs=None):
     if value is None: value = ''
     value = smart_unicode(value)
     final_attrs = self.build_attrs(attrs, name=name)
     return u'<textarea%s>%s</textarea>' % (flatatt(final_attrs),
                                            escape(value))
Example #31
0
 def render(self, name, value, attrs=None):
     if value is None: value = ''
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name,
         dojoType='dijit.form.DateTextBox', lang='ru-ru', constraints="{datePattern:'dd.MM.yyyy'}", promptMessage="dd.MM.yyyy")
     if value != '': final_attrs['value'] = force_unicode(value) # Only add the 'value' attribute if a value is non-empty.
     return mark_safe(u'<input%s />' % flatatt(final_attrs))
Example #32
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     return u'\n'.join([(u'<input%s />' % flatatt(dict(value=smart_unicode(v), **final_attrs))) for v in value])
Example #33
0
 def render(self, name, value, attrs=None):
     if value is None:
         value = ""
     value = smart_unicode(value)
     final_attrs = self.build_attrs(attrs, name=name)
     return u"<textarea%s>%s</textarea>" % (flatatt(final_attrs), escape(value))