在我的django项目中,为了避免另一个请求,我希望返回一个带有HttpResponse的JsonResponse,如下所示:
JSONResponse({“known”:True,“space”:render(request,'space.html')},status=200)
Django进程返回正常的内部错误类型为HttpResponse的对象不是JSON可序列化的
我尝试了所有的web解决方案(serializer等),但找不到一种方法来返回带有字典条目的json格式(对我的javascript来说是必需的),其中一个是一个完整的html页面,我可以与$(“body”)。html(response[“space”])
一起使用。
我是不是漏掉了什么?
谢谢你抽出时间。
render
函数返回一个HttpResponse
,实际上,JSON
序列化程序不知道如何处理这个问题。
您可以使用render_to_string
[Django-doc]将其呈现为字符串:
from django.template.loader import render_to_string
…
JsonResponse({
'known': True,
'space': render_to_string('space.html', request=request)
})