diff --git a/djangoldp/views.py b/djangoldp/views.py index 748751fca586e0446f7718192123b8295edc3a7e..4ed03f87f9a7c17d988fd2485fcbb4837f2aefd6 100644 --- a/djangoldp/views.py +++ b/djangoldp/views.py @@ -25,8 +25,14 @@ class JSONLDRenderer(JSONRenderer): media_type = 'application/ld+json' def render(self, data, accepted_media_type=None, renderer_context=None): - if data is not None: - data["@context"] = settings.LDP_RDF_CONTEXT + if isinstance(data, dict): + context = data.get("@context") + if isinstance(context, list): + data["@context"] = [settings.LDP_RDF_CONTEXT] + context + elif isinstance(context, str) or isinstance(context, dict): + data["@context"] = [settings.LDP_RDF_CONTEXT, context] + else: + data["@context"] = settings.LDP_RDF_CONTEXT return super(JSONLDRenderer, self).render(data, accepted_media_type, renderer_context)