Python 我想用Django回复图像
我希望Django在访问时显示图像。 例如,我只想显示图像作为响应, 例如访问下面的图像时。 我想把这个URL作为一个普通的URL,而不使用.jpeg或.png 样本: 但是现在,无论你尝试什么方法,它都不起作用Python 我想用Django回复图像,python,django,Python,Django,我希望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.
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
只需使用:
原因是我自己。 如果我把它评论掉,没有问题。
感谢有意见和回答的人。请发布完整的回溯,不仅仅是它的最后一行用户名是新标签。
from django.http import FileResponse
def image(response):
img = open('path/to/12.jpg', 'rb')
response = FileResponse(img)
return response