diff options
Diffstat (limited to 'django/contrib/admin/templatetags/admin_modify.py')
-rw-r--r-- | django/contrib/admin/templatetags/admin_modify.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/django/contrib/admin/templatetags/admin_modify.py b/django/contrib/admin/templatetags/admin_modify.py index b8836caa5a..f9cad005d5 100644 --- a/django/contrib/admin/templatetags/admin_modify.py +++ b/django/contrib/admin/templatetags/admin_modify.py @@ -94,15 +94,15 @@ class FieldWidgetNode(template.Node): return cls.nodelists[klass] get_nodelist = classmethod(get_nodelist) - def iter_render(self, context): + def render(self, context): bound_field = template.resolve_variable(self.bound_field_var, context) context.push() context['bound_field'] = bound_field - for chunk in self.get_nodelist(bound_field.field.__class__).iter_render(context): - yield chunk + output = self.get_nodelist(bound_field.field.__class__).render(context) context.pop() + return output class FieldWrapper(object): def __init__(self, field ): @@ -157,7 +157,7 @@ class EditInlineNode(template.Node): def __init__(self, rel_var): self.rel_var = rel_var - def iter_render(self, context): + def render(self, context): relation = template.resolve_variable(self.rel_var, context) context.push() if relation.field.rel.edit_inline == models.TABULAR: @@ -169,9 +169,10 @@ class EditInlineNode(template.Node): original = context.get('original', None) bound_related_object = relation.bind(context['form'], original, bound_related_object_class) context['bound_related_object'] = bound_related_object - for chunk in loader.get_template(bound_related_object.template_name()).iter_render(context): - yield chunk + t = loader.get_template(bound_related_object.template_name()) + output = t.render(context) context.pop() + return output def output_all(form_fields): return ''.join([str(f) for f in form_fields]) |