Как удалить тег редактора Ck в фреймворке django rest - PullRequest
0 голосов
/ 18 июня 2019

Я использую Django rest Framework Теги CkEditor, которые я использовал для Интернета, появляются в части API. Как мне удалить эти теги из API

Я раньше не использовал Ckeditor, я использовал поле Django TextField

models.py

class Lesson(models.Model):
    ...
    lesson_content = RichTextField(
        verbose_name=_('Ders İçeriği'),
        blank=True
    )
    ...

seriaizer.py

class LessonSerializer(serializers.ModelSerializer):
    class Meta:
        model = Lesson
        fields = (...,'lesson_content',...)

вывод (данные Json)

"id":1,
"user":2,
"lesson_name":"Microprocessors","lesson_content":"/<p>Merkezi .</p>",
"lesson_notes":"<p>&nbsp;</p>\r\n\r\n<p>Yazıcı, R., 1998, Mikrobilgisayar Donanım ve Yazılımı, KT&Uuml; Yayınları, Trabzon, 345 s.</p>\r\n\r\n<p>Brey, B., B., 1984, Microprocessor/Hardware Interfacing and Applications, Merrill, 414 p.</p>\r\n\r\n<p>Leventhal, L., A., 1979, Z80 Assebly Language Programming, Osborne/McGraw-Hill, 612 p.</p>\r\n\r\n<p>Uffenbeck, J., 1985, Microcomputers and Microprocessors: The 8080, 8085, and Z80 Programming, Interfacing, and Troubleshooting, Prentice-Hall, 670 p.</p>\r\n\r\n<p>&nbsp;</p>"

<p> & nbsp; </p> \ r \ n \ r \ n <p> I don't want the tags to appear

1 Ответ

0 голосов
/ 19 июня 2019

Вы можете попробовать переопределить метод to_representation в своем классе сериализатора и использовать strip_tags:

from django.utils.html import strip_tags


class LessonSerializer(serializers.ModelSerializer):
    class Meta:
        model = Lesson
        fields = (...,'lesson_content',...)

    def to_representation(self, instance):
        data = super().to_representation(instance)
        data['lesson_content'] = strip_tags(instance.lesson_content)
        return data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...