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))
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))
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))
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)
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))))
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))))
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)
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]) )
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 ]))
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))
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))
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))
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)
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)
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))
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)
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))
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, 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)
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 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))
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))
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])
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))