我希望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/