假设www.example.com中的对应函数views.py如下所示
from PIL import Image
def get_img(request, img_source)
base_image = Image.open(os.getcwd() + '/deskprod/media/img/'+ img_source + ".png")
#Some editing of base_image done with PIL that prevents image from being directly loaded in html
return render_to_response('get_img.html', {
'base_image': base_image},
context_instance=RequestContext(request))
然后如何在get_img.html
模板中显示base_image
?
4条答案
按热度按时间kadbb4591#
你应该处理图像,将其保存在本地磁盘上,然后发送一个路径或类似于媒体url,它将对应于该图像作为上下文到html模板。你需要配置你的django服务器来服务静态和媒体文件,并配置在生产环境中服务这些文件。阅读更多这里https://docs.djangoproject.com/en/1.9/howto/static-files/
然而,如果你不能或者不想在本地保存动态图像,你应该可以用PIL创建动态图像并在django中使用。这将是你应该添加的代码的结尾。
检查也更多的信息http://effbot.org/zone/django-pil.htm,它可能会工作,虽然我没有测试它。
cczfrluj2#
settings.py
添加存储www.example.com的模板和媒体/图像目录manage.py。
urls.py
views.py
get_img.html
polkgigr3#
你可以将图像作为base64字节传递给Django模板,然后在html中使用它:
www.example.comview.py
索引. html
它也适用于JPG-需要将所有PNG提及更改为. py/. html中的JPG
vhmi4jdf4#
我认为你必须保存图像(写它到临时文件)在项目的静态目录和模板使用静态命令和图像文件名来显示它。