根据viewset django rest框架扩展api.html:模板继承

根据viewset django rest框架扩展api.html:模板继承,django,django-rest-framework,Django,Django Rest Framework,是否可以为DRF中的视图集提供模板名称,以便此新模板扩展api.html new_template.html {% extends 'api.html' %} {% block my-new-block %} TEST {% endblock %} 目前我看不出该怎么做,设置“模板名称”也没有任何效果。我需要根据特定端点以不同方式显示内容 编辑:尝试覆盖检索方法并将“rest\u framework.renders.TemplateHTMLRenderer”添加到settings.py中的

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

new_template.html

{% extends 'api.html' %}

{% block my-new-block %}
 TEST
{% endblock %}
目前我看不出该怎么做,设置“模板名称”也没有任何效果。我需要根据特定端点以不同方式显示内容

编辑:尝试覆盖检索方法并将“rest\u framework.renders.TemplateHTMLRenderer”添加到settings.py中的默认\u RENDERER\u类中

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

但是,这似乎没有任何效果。

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

,因此您已经在api.html
{%extends“rest_framework/base.html”%}
中这样做了,但是现在您有了一个
新的_template.html
,根据您的信息,它是
{%extends'api.html%}
?你的浏览器在说什么?我猜
TEST
根本没有显示在源代码中?我没有在浏览器中看到TEST,没有:(所以你已经在你的api.html
{%extends“rest\u framework/base.html”%}
中做了这件事,但是现在你有了一个
new_template.html
,根据你的信息,它是
{%extends'api.html%}
?您的浏览器在说什么?我猜源代码中根本没有显示
TEST
?我在浏览器中没有看到TEST,没有:(