首页 > 解决方案 > Django REST JSONParser - 删除换行符?

问题描述

我有一个小的 Django REST Framework 应用程序,位于我更大的 Django 应用程序中。它提供了端点,这些端点从应用程序的数据库中读回一些数据,并以 JSON 格式返回它以用于集成的 React 前端。

现在,我最近注意到,一旦字符串通过 Django REST 的 JSONParser 推送,REST 端点中的一个字段会从 DB 中返回字符串,但会从任何转义字符(\r、\n 等)中删除它们。

据我了解,信息流如下:

user ---> urls.py ---> EndpointView ---> DjangoRESTSerializer -*-> JSONParser -**-> user

当我在上面标有 * 的位置检查数据的形状时(Django REST 的数据模板,在我们指定我们想要的格式之前),有问题的字符串中仍然包含所有转义字符。但是,在该网页上指定我希望以 JSON 格式返回的数据(上面带有两个 * 的位置)之后,它将重新加载并返回 JSON 样式的视图,其中转义字符消失了。

这是预期的 Django REST 框架行为吗?有什么办法可以阻止 JSONParser 删除转义字符?没有它们的 React 应用程序上的数据呈现只是一堵文字墙,真的很难阅读。

标签: pythonjsondjangodjango-rest-framework

解决方案


推荐阅读