【发布时间】:2021-09-08 16:53:28
【问题描述】:
我正在从 Django Rest Framework 返回 HTML 文本,但特殊字符被重写为“HTML 安全”文本。
如何防止这种行为?我知道 Django 中有一个 mark_safe() 函数,但这需要我重写序列化程序。 DRF 是否提供了一种简单的方法来做到这一点?
这是我的序列化器:
class MySerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ("html_text",)
请注意,文本是安全的,只能由管理员输入,不能由最终用户输入。
【问题讨论】:
-
也许你的前端正在这样做?你能检查一下你的数据库中实际存储了什么,你能举一个实际的api输出json的例子吗?据我所知,DRF 不会像这样进行任何转义。
-
前端没有这样做@AndrewBacker。数据库中有 HTML,DRF 吐出转义字符。
-
这不是我听说过的 DRF 的一个功能,我的 api 和众多端点都没有这样做。您将必须提供 MWE stackoverflow.com/help/minimal-reproducible-example
-
你是对的! JSON 美化器扩展正在执行此操作。运行 cURL 时,它按预期工作。谢谢!!
标签: django django-rest-framework