Javascript 使用Django REST框架显示富文本上传字段
我有一个在Python3上运行的Django应用程序,它设置了一个基本的博客应用程序。在我的Javascript 使用Django REST框架显示富文本上传字段,javascript,python,json,django,django-rest-framework,Javascript,Python,Json,Django,Django Rest Framework,我有一个在Python3上运行的Django应用程序,它设置了一个基本的博客应用程序。在我的Post模型中,我为特定Post的内容设置了以下内容 从ckeditor\u uploader.fields导入RichTextUploadingField 班级职务(models.Model): content=RichTextUploadingField() 我还设置了Django的REST框架,因此当我向/api/posts/slug=abc-123发出GET请求时,它会运行以下命令: class
Post
模型中,我为特定Post的内容设置了以下内容
从ckeditor\u uploader.fields导入RichTextUploadingField
班级职务(models.Model):
content=RichTextUploadingField()
我还设置了Django的REST框架,因此当我向/api/posts/slug=abc-123
发出GET
请求时,它会运行以下命令:
class PostViewSet(viewsets.ViewSetMixin,泛型.ListAPIView):
"""
允许查看帖子的API端点。
"""
序列化程序\u类=后序列化程序
def get_queryset(自我):
queryset=Post.objects.all()
#一堆Django过滤器
返回查询集
并将返回如下内容:
{
"title" : "Abc 123",
"slug" : "abc-123,
"content" : "According to a survey, '93% of executives believe
that an employee’s style of dress at work
influences his/her chance at a promotion'.</p>\r\n\r\n<p>
This is more content blah blah blah."
}
{
“标题”:“Abc 123”,
“鼻涕虫”:“abc-123,
“内容”:“根据一项调查,93%的高管认为
员工的工作着装风格
影响他/她的晋升机会';\r\n\r\n
这是更多的内容废话。”
}
(忽略JSON有换行符这一事实,即为了可读性,假设它是格式正确的JSON文件)
正如您所看到的,结果的内容
具有类似\r
和\n
的字符。这在Django中使用此{content | safe}}
进行渲染,在Django渲染页面时效果良好,但我希望在不使用Django作为后端的web应用程序中显示此数据
长话短说,我需要一个javascript(或typescript)库,该库将以Django使用其内置的安全
过滤器的方式呈现内容的值。注意它必须是一个独立于Django的库,只能在客户端使用
或,我需要一种方法来存储内容,该方法仍然允许Django中的RichTextUploadingField
的所有功能,并且不影响Django的呈现,但允许我以某种方式在HTML
中呈现内容。未测试代码,您可以尝试:
class PostSerializer(serializers.ModelSerializer):
content = serializers.SerializerMethodField()
def get_content(self, instance):
from django.utils.safestring import mark_safe
return mark_safe(instance.content)
class Meta:
model = Post
fields = '__all__'
SerializerMethodField是只读字段。所以我无法上传数据。有解决方案吗?