将xml渲染到视图

vkr*_*ris 10 python django django-views

场景是这样的.

我从网站上得到一个原子文件(比如A).第三方将通过我的网站(例如B)请求此原子文件.

我正在编写一个Django应用程序,它经常轮询网站A并将其存储为文件.现在,当第三方通过网站B请求该文件时,我将不得不在浏览器中将该文件显示为xml.

我的问题是如何将整个xml文件渲染到Django中的视图?

 render_to_response
Run Code Online (Sandbox Code Playgroud)

期待一个模板.我不能这样使用模板.我只需要在视图中显示该文件.我该怎么做呢?

sil*_*zzo 15

做这样的事情.

return render(request, 'myapp/index.html', {"foo": "bar"} content_type="application/xhtml+xml")
Run Code Online (Sandbox Code Playgroud)


小智 13

您只需要'text/xml'使用content_type参数定义MIME类型:

return HttpResponse(open('myxmlfile.xml').read(), content_type='text/xml')
Run Code Online (Sandbox Code Playgroud)


Dan*_*man 6

如果您不想渲染模板,请不要这样做。render只是渲染模板的快捷方式。如果您只想显示文本,只需将其传递到 HttpResponse 中即可。

由于您的数据位于文件中,因此这将起作用:

return HttpResponse(open('myxmlfile.xml').read())
Run Code Online (Sandbox Code Playgroud)

尽管您应该注意并发问题,但如果同时有多个人访问您的网站。