如何序列化Django视图对象?

2024-10-04 03:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想序列化上下文数据,但出现以下错误:TypeError:<;tests.views.ExamView测试视图0x7f8e18873668处的对象不可JSON序列化

这是我的密码:

from django.template.loader import render_to_string

        context = self.get_context_data()
        html = render_to_string('difficult_test.html', context)

        if self.request.is_ajax():
            return http.JsonResponse({"html":html, 'context':context})

        return response

Tags: to数据ltselfstringreturn序列化html
1条回答
网友
1楼 · 发布于 2024-10-04 03:27:47

只有基元类型被序列化你有tests.views.ExamView它是上下文中的类视图对象请从上下文中删除一些具有类对象的项。您可以记录它来了解上下文中有多少类对象。如果您还需要类对象数据,那么您需要手动序列化它

delete self.context['view']

Django的泛型API视图的get\u serializer\u context()类似于

    def get_serializer_context(self):
        """
        Extra context provided to the serializer class.
        """
        return {
           'request': self.request,
           'format': self.format_kwarg,
           'view': self
        }

相关问题 更多 >