def _render(self, form, form_style, context, template_pack=TEMPLATE_PACK): attrs = self.get_attrs(form, form_style, context, template_pack=template_pack) hidden = [] if self.initial: initial = {} for name in self.fields: field = get_bound_field(context, form, name) if not field: continue if not hasattr(field.field, 'form'): hidden.append(field.as_hidden(attrs=attrs)) else: if name in form.initial: v = form.initial[name] initial[name] = v fields = get_field_dict(form, initial, form.prefix) else: fields = {} for name in self.fields: field_name = '-'.join((form.prefix, name)) if not hasattr(field.field, 'form'): hidden.append(field.as_hidden(attrs=attrs)) else: for k, v in form.data.items(): if k.startswith(field_name): fields[k] = v return render_to_string(self.template, { 'hidden': hidden, 'fields': fields, 'field_classes': self.field_classes, 'flat_attrs': self.flat_attrs, })
def _render(self, form, form_style, context, template_pack=TEMPLATE_PACK): attrs = self.get_attrs(form, form_style, context, template_pack=template_pack) fields = [] bound_field = None if self.field: bound_field = get_bound_field(context, form, self.field) for field in self.fields: if bound_field is None and isinstance(field, six.string_types): bound_field = get_bound_field(context, form, field) fields.append(render_field(field, form, form_style, context, template=self.field_template, template_pack=template_pack)) return render_to_string(self.template, { 'input_size': self.input_size, 'active': getattr(self, 'active', False), 'fields': fields, 'field': bound_field, 'flat_attrs': flatatt(attrs), }, context)
def __call__(self, form, context): fields = self.fields or form.fields.keys() for name in fields: field = get_bound_field(context, form, name) if not field: continue if not self.deep and hasattr(field.field, 'form'): continue if name in field.form.changed_data: return True return False
def _render(self, form, form_style, context, template_pack=TEMPLATE_PACK): attrs = self.get_attrs(form, form_style, context, template_pack=template_pack) field_class = attrs.get('field-class') fields = [] bound_field = None if self.field: bound_field = get_bound_field(context, form, self.field) for field in self.fields: if bound_field is None and isinstance(field, six.string_types): bound_field = get_bound_field(context, form, field) fields.append(render_field(field, form, form_style, context, template=self.field_template, attrs=attrs, template_pack=template_pack)) return render_to_string(self.template, { 'crispy_appended_text': self.appended_text, 'crispy_prepended_text': self.prepended_text, 'input_size': self.input_size, 'active': getattr(self, 'active', False), 'fields': fields, 'field': bound_field, 'css_id': attrs.get('id'), 'css_class': attrs.get('class'), 'field_class': field_class, }, context)
def __call__(self, form, context): fields = self.fields or form.fields.keys() for name in fields: field = get_bound_field(context, form, name) if not field: continue if not self.deep and hasattr(field.field, 'form'): continue _, _, name = name.rpartition('.') initial_value = field.form.initial.get(name, field.field.initial) if callable(initial_value): initial_value = initial_value() if not initial_value: return False return True
def _render(self, form, form_style, context, template_pack=TEMPLATE_PACK): attrs = self.get_attrs(form, form_style, context, template_pack=template_pack) field = self.fields[0] if not hasattr(field, 'render'): bound_field = get_bound_field(context, form, field) if bound_field: field = RawField(field) else: field = HTML(field) fields = render_field(field, form, form_style, context, template_pack=template_pack) css_class = attrs.pop('class', self.css_class) context.update({ 'tag': self.tag, 'form': form, 'div': self, 'fields': fields, 'css_class': css_class, 'flat_attrs': flatatt(attrs) }) return render_to_string(self.template, context)
def _render(self, form, form_style, context, template_pack=TEMPLATE_PACK): field = get_bound_field(context, form, self.field) if not field: return '' return self.prefix + field.auto_id + self.suffix