-4

次のような長い文字列 ( my_xml)を作成できます。

elements = Element.objects.all()
my_xml = '<?xml version="1.0" encoding="utf-8"?>\n'
my_xml += 'description\n'
my_xml += 'document title\n'
my_xml += 'other_infos\n'
for elt in elements:
    my_xml += elt.title
    my_xml += elt.desc
return HttpResponse(my_xml)

my_xml +=「 」タグを繰り返す代わりに、それを行う別のよりクリーンな方法はありますか?

4

2 に答える 2

0

リストを使用できます:

elements = Element.objects.all()
xml_parts = ["""
<?xml version="1.0" encoding="utf-8"?>
description
document title
other_infos
"""]
for el in elements:
    xml_parts.append(elt.title)
    xml_parts.append(elt.desc)
return HttpResponse(''.join(xml_parts))
于 2013-06-05T15:30:07.553 に答える
0

この方法でページを作成したい場合は、使用を検討してください ( Python の複数行文字列の適切なインデント で示されている例に従います) 。

ページに行が表示されるように編集し、xml改行を機能させます。

elements = Element.objects.all()
my_xml = ('<html type=text/html encoding="utf-8">'
  '&lt;?xml version="1.0" encoding="utf-8"?&gt;<br>'
  'description<br>'
  'document title<br>'
  'other_infos<br>')

for elt in elements:
  my_xml += elt.title + '<br>'
  my_xml += elt.desc + '<br>'

my_xml += '</html>'

return HttpResponse(my_xml)
于 2013-06-05T12:03:05.823 に答える