使用Django REST Framework显示Rich Text Uploading Field

时间:2017-10-17 19:47:19

标签: javascript python json django django-rest-framework

我有一个在Python3上运行的Django应用程序,它有一个基本的博客应用程序设置。在我的Post模型中,我对特定帖子的内容进行了以下设置。

from ckeditor_uploader.fields import RichTextUploadingField 

class Post(models.Model):
    content = RichTextUploadingField()

我还设置了Django的REST框架,以便当我向GET发出/api/posts/slug=abc-123请求时,它会运行:

class PostViewSet(viewsets.ViewSetMixin, generics.ListAPIView):
    """
    API endpoint that allows posts to be viewed.
    """
    serializer_class = PostSerializer 

    def get_queryset(self):
       queryset = Post.objects.all()
       # A bunch of Django filters
       return queryset

并会返回这样的内容:

{
    "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&#39;.</p>\r\n\r\n<p>
                 This is more content blah blah blah."
}

(忽略JSON有换行符的事实,这是为了便于阅读,假设它是格式正确的JSON文件)

正如您所看到的,结果的content包含\r\n等字符。这将使用此{{content | safe}}在Django中呈现,当Django呈现页面时它可以正常工作,但我想在不使用Django作为后端的Web应用程序中显示此数据。

长话短说,我需要一个javascript(或typescript)库,它将以与Django使用其内置content过滤器相同的方式呈现safe的值。 注意它必须是独立于Django的库,只能在客户端使用。

,我需要一种方法来存储仍然允许Django中RichTextUploadingField的所有功能的内容,并且不会影响Django的渲染,但允许我渲染内容在HTML以某种方式。

1 个答案:

答案 0 :(得分:0)

未经测试的代码,您可以尝试一下:

sktnum