def render_layout(self, form, context, template_pack=TEMPLATE_PACK): """ Returns safe html of the rendering of the layout """ form.rendered_fields = set() form.crispy_field_template = self.field_template # This renders the specified Layout strictly html = self.layout.render(form, self.form_style, context, template_pack=template_pack) # Rendering some extra fields if specified if self.render_unmentioned_fields or self.render_hidden_fields or self.render_required_fields: fields = tuple(form.fields.keys()) left_fields_to_render = list_difference(fields, form.rendered_fields) for field in left_fields_to_render: if (self.render_unmentioned_fields or (self.render_hidden_fields and form.fields[field].widget.is_hidden) or (self.render_required_fields and form.fields[field].widget.is_required)): html += render_field(field, form, self.form_style, context, template_pack=template_pack) return mark_safe(html)
def render_layout(self, form, context, template_pack=TEMPLATE_PACK): """ Returns safe html of the rendering of the layout """ form.rendered_fields = set() form.crispy_field_template = self.field_template # This renders the specified Layout strictly html = self.layout.render( form, self.form_style, context, template_pack=template_pack ) # Rendering some extra fields if specified if self.render_unmentioned_fields or self.render_hidden_fields or self.render_required_fields: fields = set(form.fields.keys()) left_fields_to_render = fields - form.rendered_fields for field in left_fields_to_render: if ( self.render_unmentioned_fields or self.render_hidden_fields and form.fields[field].widget.is_hidden or self.render_required_fields and form.fields[field].widget.is_required ): html += render_field( field, form, self.form_style, context, template_pack=template_pack ) # If the user has Meta.fields defined, not included in the layout, # we suppose they need to be rendered if hasattr(form, 'Meta'): if hasattr(form.Meta, 'fields'): current_fields = tuple(getattr(form, 'fields', {}).keys()) meta_fields = getattr(form.Meta, 'fields') fields_to_render = list_intersection(current_fields, meta_fields) left_fields_to_render = list_difference(fields_to_render, form.rendered_fields) for field in left_fields_to_render: # We still respect the configuration of the helper # regarding which fields to render if ( self.render_unmentioned_fields or (self.render_hidden_fields and form.fields[field].widget.is_hidden) or (self.render_required_fields and form.fields[field].widget.is_required) ): html += render_field(field, form, self.form_style, context) return mark_safe(html)
def test_list_set_operations(): list1 = ["3", "1", "4", "3"] list2 = ["2"] list3 = ["1", "6"] list4 = [] union = list_union(list1, list2, list3, list4) assert union == ["3", "1", "4", "2", "6"] list5 = ["1", "3"] list6 = ["2", "3"] difference = list_difference(list5, list6) assert difference == ["1"]
def test_list_set_operations(): list1 = ['3', '1', '4', '3'] list2 = ['2'] list3 = ['1', '6'] list4 = [] union = list_union(list1, list2, list3, list4) assert union == ['3', '1', '4', '2', '6'] list5 = ['1', '3'] list6 = ['2', '3'] difference = list_difference(list5, list6) assert difference == ['1']
def test_list_difference(): assert list_difference([3, 1, 2, 3], [4, 1, ]) == [3, 2]