向Django Rest框架视图集添加表单

2024-04-29 09:26:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一些直接从viewsets.ViewSet而不是ModelViewSet子类的视图,其中许多(但不是全部)没有在类上显式声明序列化程序,因为我不需要它们那样做。一个这样的视图集的例子是“verify email”视图集,它只接受一个验证代码,然后viewset上的.list()方法查找验证代码并验证用户。不需要序列化程序或模型,我只使用ViewSet以便在路由器中正确注册视图。在

但是,这些视图都缺少在可浏览的API页面底部自动生成的表单,ModelViewSet页面通常为POST和PUT请求生成表单。在

我需要做什么或指定什么来让这些表单与我的首选字段一起出现在这些ViewSet子类中?在


Tags: 代码程序视图声明表单序列化email页面
1条回答
网友
1楼 · 发布于 2024-04-29 09:26:19

您需要为视图集设置序列化程序。在

BrowsableAPIRenderer在其get_context方法中返回:

'put_form': self.get_rendered_html_form(data, view, 'PUT', request),
'post_form': self.get_rendered_html_form(data, view, 'POST', request),

并且get_rendered_html_form正在查找为视图定义的序列化程序。在

这是有意义的,因为没有序列化程序就无法处理POST或{}发送的数据。在

相关问题 更多 >