我正在尝试生成一个自定义的HTML,我有一个值要传递给它xml.startElement文件(或根,如果你想在通用术语)。我该怎么做呢?你知道吗
我目前正在使用django rest框架类视图和自定义呈现程序-
这是渲染器的开始-
class TESTRenderer(renderers.BaseRenderer):
media_type = 'application/xml'
format = 'xml'
charset = 'utf-8'
def render(self, data, accepted_media_type=None, renderer_context=None):
"""
Renders *obj* into serialized XML.
"""
if data is None:
return ''
stream = StringIO()
xml = SimplerXMLGenerator(stream, self.charset)
xml.startDocument()
xml.startElement(header.data, {})
如您所见,我试图将一个名为header的变量传递到xml.startElement文件你知道吗
这是数据所在的视图-
class TestDetail(APIView):
permission_classes = (AllowAny,)
"""
Retrieve, update or delete a snippet instance.
"""
def get(self, request, pk, format=None):
jobmst_name = queryset1
nodmst_alias = queryset2
sysval_integer = queryset3
mst = queryset4
dtl = queryset5
dep = queryset6
trg = queryset7
name = str(jobmst_name)
master = str(nodmst_alias)
dbversion = str(sysval_integer)
header = 'job id="%s" name="%s" master="%s" dbversion="%s" xmlversion="1"' % (pk, name, master, dbversion)
jobmststring = JobmstSerializer(mst)
jobdtlstring = JobdtlSerializer(dtl)
jobdepstring = JobdepSerializer(dep, many=True)
trgjobstring = TrgjobSerializer(trg, many=True)
jobmst_serialized = {'jobmst': jobmststring.data}
jobdtl_serialized = {'jobdtl': jobdtlstring.data}
jobdep_serialized = [{'jobdep':item} for item in jobdepstring.data]
trgjob_serialized = [{'trgjob':item} for item in trgjobstring.data]
jobgroup = header, jobmst_serialized, jobdtl_serialized, jobdep_serialized, trgjob_serialized
return TestResponse(jobgroup)
它的反应是-
class TestResponse(HttpResponse):
"""
An HttpResponse that renders its content into XML.
"""
def __init__(self, data, **kwargs):
content = TESTRenderer().render(data)
kwargs['content_type'] = 'application/xml'
super(TestResponse, self).__init__(content, **kwargs)
TestDetail中是否缺少一些我应该从数据中分离头的内容?你知道吗
也许是这样?你知道吗
return TestResponse (header, jobgroup)
然后将TestResponse修改为include?你知道吗
def __init__(self, header, data, **kwargs):
我不知道python/django。但是看起来你所说的“值”实际上是你想要分配给元素节点的属性。我在你的/r/django帖子上也发了同样的帖子。你知道吗
相关问题 更多 >
编程相关推荐