是否可以为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')
然而,这似乎没有效果。
答案 0 :(得分:0)
这样做的方法是将renderers.BaseRenderer子类化并设置自己的模板。在视图中,您可以将renderer_classes属性设置为您自己的自定义渲染器