如何在python文件中返回图像?对于django

时间:2016-01-23 06:48:50

标签: python django image

我有这段代码,

import json
from goose import Goose

def extract(url):
    g = Goose()
    article = g.extract(url=url)
    if article.top_image is None:
        return "none" 
    else:
        if article.top_image.src is None:
          return "none"
        else:
            resposne = {'image':article.top_image.src}
            return article.top_image.src

这里代替“无”我想返回图像文件。为了上传图像文件,我是否需要将图像保存在我的静态文件中并将其作为图像返回?我一直在用静态文件返回图像,但是我不知道如何用python做到这一点,还是有其他方式?

1 个答案:

答案 0 :(得分:2)

您拥有article.top_image.src中图片资源的网址,因此只需下载图片并将其返回即可。您可以使用requests模块下载部分:

import requests

def extract(url):
    article = Goose().extract(url)
    if article.top_image is None or article.top_image.src is None
        return "none"

    r = requests.get(article.top_image.src)
    return r.content

这将返回函数中的实际图像数据。

可能您希望将该图像作为HTTP响应返回,在这种情况下,您可以从视图函数返回该图像:

return HttpResponse(extract(url), content_type="image/jpeg")