Django 表单验证与 DRF 序列化程序验证
Posted
技术标签:
【中文标题】Django 表单验证与 DRF 序列化程序验证【英文标题】:Django form validation vs DRF serializer validation 【发布时间】:2020-08-14 18:57:53 【问题描述】:我是在 django 中创建 API 的新手。 我检查了 DRF 序列化程序,发现它们在操作数据库中的模型时很有用。我的 API 不使用基于表单的模型。
所以我的问题是:我可以从使用 DRF 验证器然后在我的视图中使用 django 表单验证器获得更多?也许内容类型更方便(application/x-www-form-urlencoded vs application/json)?
【问题讨论】:
【参考方案1】:DRF 的序列化程序很好地集成在框架中。无论它们是否基于模型,您都可以免费使用漂亮的可浏览 UI,并且可以生成 OpenAPI 模式。可能还有其他我没有想到的事情。
序列化程序可以做哪些表单不能做的事情:
嵌套数据 - 虽然您可以使用表单集获得一些结果。 超链接的关系字段 空白字段和空白字段之间的区别 - html 表单无法做到这一点 与基于通用类的视图或视图集的开箱即用集成请注意,即使您不使用序列化程序,您仍然可以从 DRF 中受益。 DRF 部分是松散耦合的。
【讨论】:
以上是关于Django 表单验证与 DRF 序列化程序验证的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 django rest 框架序列化程序中使用重用 django 表单进行验证?
Django:基于 DRF 令牌的身份验证 VS JSON Web 令牌