扩展api.html每个viewset django rest框架:模板继承

时间:2016-01-18 04:20:56

标签: django django-rest-framework

是否可以为DRF中的视图集提供模板名称,以便此新模板扩展api.html?

new_template.html

{% extends 'api.html' %}

{% block my-new-block %}
 TEST
{% endblock %}

我目前无法看到如何操作,并且设置'template_name'没有任何效果。我需要根据特定的端点以不同的方式显示内容。

编辑:尝试覆盖检索方法并将'rest_framework.renderers.TemplateHTMLRenderer'添加到settings.py中的DEFAULT_RENDERER_CLASSES。

def retrieve(self, request, *args, **kwargs):
    instance = self.get_object()
    serializer = self.get_serializer(instance)
    return Response(serializer.data, template_name='new_template.html')

然而,这似乎没有效果。

1 个答案:

答案 0 :(得分:0)

这样做的方法是将renderers.BaseRenderer子类化并设置自己的模板。在视图中,您可以将renderer_classes属性设置为您自己的自定义渲染器