Django:同时将图像和文本返回到同一模板以供显示

时间:2016-07-27 20:42:25

标签: python django web django-templates django-views

我在views.py中有一个创建图像的方法,并创建一个文本字符串以返回到模板进行显示。字符串取决于动态生成的图像,因此我需要创建图像,然后创建字符串,然后将两者都返回到视图。我目前没有使用后端,因为不希望保留照片,并且占用空间的字符串(用户不需要它)。

尝试以下不同的事情:

此代码只显示正确的图像(没有显示未显示的字符串):

response = HttpResponse(content_type='image/png')
image.save(response, "PNG")
return response

此代码只显示文字:

    ##return text
    response=HttpResponse()
    response.write(the_string)
    return response

此代码不能正常工作,因为它只显示文本(PIL照片对象文本字符串而不是图像,字符串显示正确)

objects_to_render = {"photo":image,"string":the_string}
return render(request, "pic_text_display.html",objects_to_render, content_type='image/png')

在“pic_text_display.html”中:

{{photo}}
{{string}}

以下是上面的输出:

<PIL.Image.Image image mode=RGBA size=512x512 at 0x7FCEA377FED0>
the string

如何返回图像并让字符串同时显示在模板中?我相信有比这更好的方法来做到这一点......

请注意,我没有使用后端模型,因为我没有存储属性,只想创建字符串和图像,并返回两者进行显示。我似乎遇到了问题,因为我有不同的内容类型,或者不知道正确的语法。

感谢您的帮助!!

0 个答案:

没有答案