Python Django:获取render\u to\u响应以接受磁盘上的字节而不是html
我有一个动态生成的html文件,我不想保存到磁盘。通常在Django中,为了向用户提供html,您可以使用:Python Django:获取render\u to\u响应以接受磁盘上的字节而不是html,python,html,django,django-templates,Python,Html,Django,Django Templates,我有一个动态生成的html文件,我不想保存到磁盘。通常在Django中,为了向用户提供html,您可以使用: return render_to_response('foo.html', context_instance=RequestContext(request)) 但是,我在磁盘上没有foo.html,我有一个bytes字符串。如何让Django呈现字符串而不是文件?(注意:生成的文件具有Django需要解释的{%block content%}等内容 使用python3.4和Django
return render_to_response('foo.html', context_instance=RequestContext(request))
但是,我在磁盘上没有foo.html
,我有一个bytes
字符串。如何让Django呈现字符串而不是文件?(注意:生成的文件具有Django需要解释的{%block content%}
等内容
使用python3.4和Django 1.8
在cyphase的建议下:我做了以下工作:
my_template = Template(byte_string)
return HttpResponse(my_template.render(RequestContext(request)))
试试这个:
from django.http import HttpResponse
from django.template import Template
def your_view(...):
# Do stuff
yourtemplate = Template(your_template_string)
content = yourtemplate.render(context_instance=RequestContext(request))
# content_type and status are the same as would be passed
# to render() or render_to_response().
return HttpResponse(content, content_type=None, status=None)
理想情况下,有人会实现
render\u to\u response()
接受字符串或类似文件的对象。获取:'SafeText'对象没有属性'get'
来自:/lib/python3.4/site-packages/django/middleware/clickjacking.py in process\u response,第31行
。我禁用了clickjacking中间件,并得到了相同的错误。我们使用的是同一个django版本吗?您能给q添加一个编辑吗uestion(不要修改它,在当前问题下方添加一个部分)这显示了您的一部分代码和完整的回溯?明白了。谢谢您的帮助。@NickThompson,我添加了另一个尝试;请看一看。我怀疑这也不起作用,因为返回类型不正确。请参阅我的编辑。不过,您在这里为我指出了正确的方向;非常感谢您的帮助。看起来您添加的错误与此无关问题是。试着把它隔离开来。你让它在哪个版本的Django上工作?我没有测试它;但它应该工作:)。再说一次,这个错误似乎不是关于模板的,尽管我并没有明确地声明这一点。设法孤立问题;尝试使用render\u to\u response()
来查看错误是否消失。当我使用render\u to\u response
和html文件时,错误确实消失了。你能发布你的代码吗?