gpt4 book ai didi

python - 将表单添加到 Django Rest Framework ViewSets

转载 作者:行者123 更新时间:2023-11-28 19:21:11 25 4
gpt4 key购买 nike

我创建了一些直接从 viewsets.ViewSet 而不是 ModelViewSet 的子类的 View ,其中许多(但不是全部)没有声明序列化程序类明确地因为我不需要他们那样。此类 View 集的一个示例是“验证电子邮件” View 集,它仅接收验证码,然后 ViewSet 上的 .list() 方法查找验证码并验证用户。不需要序列化器或模型,我使用 ViewSet 只是为了在路由器中正确注册 View 。

但是,这些 View 都缺少在 Browseable API 页面底部自动生成的表单,而 ModelViewSet 页面通常具有用于 POST 和 PUT 请求的表单。

我需要做什么或指定什么才能使这些表单与这些 ViewSet 子类的首选字段一起显示?

最佳答案

您需要为 View 集安装序列化程序。

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 正在寻找为 View 定义的序列化器。

这是有道理的,因为如果没有序列化程序,您将无法处理 POSTPUT 发送的数据。

关于python - 将表单添加到 Django Rest Framework ViewSets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24603465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com