我希望Django在访问时显示图像。
例如,我只想显示图像作为回应,
例如访问下面的图片时。
而且我想将该URL作为普通URL而不使用.jpeg或.png。

样品:



但是现在,无论您尝试哪种方法,都行不通。

from django.http import HttpResponse
import os
from django.core.files import File
import codecs


def image(request):
    file_name = os.path.join(
        os.path.dirname(__file__),
        '12.jpg'
    )
    try:
        with open(file_name, "rb") as f:
            a = f.read()
            return HttpResponse(a, content_type="image/jpeg")
    except IOError:
        red = Image.new('RGBA', (1, 1), (255, 0, 0, 0))
        response = HttpResponse(content_type="image/jpeg")
        red.save(response, "JPEG")
        return response




urlpatterns = [
    url('image', image)
]


使用上面的代码,发生以下错误。

'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

最佳答案

只需使用FileResponse

from django.http import FileResponse

def image(response):
    img = open('path/to/12.jpg', 'rb')
    response = FileResponse(img)
    return response

关于python - 我想用Django回应图片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59714929/

10-12 19:38