embeds = {}
for e in embed_list:
ct = e.get_content_type(context)
+ if ct is None:
+ # Then the embed doesn't exist for this context.
+ continue
if ct not in embeds:
embeds[ct] = [e]
else:
try:
t = context.render_context[EMBED_CONTEXT_KEY].get_embed_template(self, context)
except (KeyError, IndexError):
- if settings.TEMPLATE_DEBUG:
- raise
self.mark_rendered_for(context)
return settings.TEMPLATE_STRING_IF_INVALID
context.push()
context['embedded'] = instance
- kwargs = {}
for k, v in self.kwargs.items():
- kwargs[k] = v.resolve(context)
- context.update(kwargs)
+ context[k] = v.resolve(context)
t_rendered = t.render(context)
context.pop()
self.mark_rendered_for(context)
return self.instance.resolve(context)
def get_content_type(self, context):
- return ContentType.objects.get_for_model(self.get_instance(context))
+ instance = self.get_instance(context)
+ if not instance:
+ return None
+ return ContentType.objects.get_for_model(instance)
def get_embedded(self):