我已经为我的模型创建了序列化器和ViewSet,并为列表视图添加了模板。要查看网页(模板),排序渲染类必须正确,并且需要将TemplateHTMLRenderer
添加到渲染器列表中。
这现在导致要浏览至诸如[]之类的特定记录的问题>
/mymodel/5
在浏览器中,我也得到了列表视图。
目标是拥有1个同时用于列表视图和详细信息视图的api(json)或网页的URL。(/ mymodel =列表,/ mymodel / 5 =详细信息)
问题是:如何基于一个ViewSet具有多个模板(列表/详细信息?)>
我已经为我的模型创建了序列化器和ViewSet,并为列表视图添加了模板。要查看网页(模板),排序渲染类必须正确,并且需要添加...
解决方案是重写get_template_names方法并根据所执行的操作返回模板。
def get_template_names(self):
if self.action == 'list':
return ['list.html']
elif self.action == 'retrieve':
return ['details.html']