我正在使用JsonResponse在Django中打印我的views函数的输出 并且想要更正输出并仅包含某些字段。我应该如何进行?
函数是:
influencers = Influencer.objects.all()
influencer_data = serializers.serialize("json",influencers)
context = {
'influencer_data':influencer_data,
}
return JsonResponse(context)
输出/返回值为:
{"influencer_data": "[{\"model\": \"influencer_listings.influencer\", \"pk\": 7250, \"fields\": {\"full_name\": \"Be Yourself\", \"username\": \"tapasya_agnihotri\", \"photo\": \"\", \"email_id\": \"\", \"external_url\": \"\", \"location_city\": \"Kolkata\"
输出类似于上面给出的输出,但是我希望输出不包含斜杠。为什么JsonResponse会打印斜杠。
答案 0 :(得分:3)
您要序列化两次。如果您使用内置的序列化程序,则应该只使用HttpResponse并直接返回数据:
influencer_data = serializers.serialize("json",influencers)
return HttpResponse(influencer_data, content_type="application/json")
答案 1 :(得分:2)
正如我在这里已经提到的How do you serialize a model instance in Django?,使用 python
串行器而不是json
influencers = Influencer.objects.all()
influencer_data = serializers.serialize("python",influencers)
context = {
'influencer_data':influencer_data,
}
return JsonResponse(context)