django-rest-framework:每个 ViewSet 可以有多个模板吗?
django-rest-framework: Can Ihave multiple templates per ViewSet?
我已经为我的模型创建了一个序列化程序和 ViewSet,并为列表视图添加了一个模板。要查看网页(模板),渲染顺序 类 必须正确,并且需要将 TemplateHTMLRenderer
添加到渲染器列表中。
现在这会导致问题,当想要浏览到特定记录时,如
/mymodel/5
在浏览器中,我也看到了列表视图。
目标是有 1 个 url 为 api (json) 或网页提供列表和详细信息视图。
(/mymodel = 列表,/mymodel/5 = 详细信息)
问题是:如何基于一个 ViewSet 拥有多个模板 (list/detail)?
解决方案是根据正在执行的操作覆盖 get_template_names 方法和 return 模板。
def get_template_names(self):
if self.action == 'list':
return ['list.html']
elif self.action == 'retrieve':
return ['details.html']
我已经为我的模型创建了一个序列化程序和 ViewSet,并为列表视图添加了一个模板。要查看网页(模板),渲染顺序 类 必须正确,并且需要将 TemplateHTMLRenderer
添加到渲染器列表中。
现在这会导致问题,当想要浏览到特定记录时,如
/mymodel/5
在浏览器中,我也看到了列表视图。
目标是有 1 个 url 为 api (json) 或网页提供列表和详细信息视图。 (/mymodel = 列表,/mymodel/5 = 详细信息)
问题是:如何基于一个 ViewSet 拥有多个模板 (list/detail)?
解决方案是根据正在执行的操作覆盖 get_template_names 方法和 return 模板。
def get_template_names(self):
if self.action == 'list':
return ['list.html']
elif self.action == 'retrieve':
return ['details.html']