发现在DRF API浏览器中每次加载详细信息页面调用了serializer.to_representation()四次之后,我进行了搜索以找出原因。
我找到了this SO post。唯一的答案说...
那是因为您正在使用可浏览的API。
JSON渲染器只会调用一次。
可浏览的API需要多次调用:
- 结果本身
- 对于原始数据标签,当您可以通过PUT修改资源时
- 对于“原始数据”标签,当您可以通过PATCH修改资源时
- 用于HTML表单标签
我的问题是...如何区分这四个电话?
我正在处理TextField。如果前端点击了API以在详细信息页面上显示多行TextField,则我们希望将换行符替换为<br>
。
但是,如果前端需要表单字段的值,则应该在不进行任何替换的情况下获取它。