首页 > 解决方案 > 以编程方式在 django 中创建和上传图像

问题描述

我正在使用这种方法以编程方式创建图像,

def create_thumbnail(filename, letters, color):
    img = Image.new('RGB', (200, 200), color=color)
    d = ImageDraw.Draw(img)
    font = ImageFont.truetype("sans-serif.ttf", 48)
    d.text((0, 0), letters, (255, 255, 255), font=font)
    img.save("{}.png".format(filename))

这是我的对象创建逻辑,

room, created = Room.objects.get_or_create(name=name, logo="", sport=sport,status=RoomStatus.ACTIVE,defaults={'team': team,'city': city,})

我在模型中有一个覆盖,可以将图像保存到正确的文件夹中。

def image_upload_path(instance, filename):
    pattern = re.compile(r'\s+')
    filename = re.sub(pattern, '', filename)
    return 'images/rooms/logo/_{0}/{1}'.format(instance.id, filename)

这在处理带有图像数据的发布请求时效果很好。

我的问题是如何创建图像并使用我的图像创建功能将其上传到正确的文件夹。任何帮助表示赞赏。

标签: pythondjangopython-3.xdjango-rest-frameworkpython-imaging-library

解决方案


不是很清楚你想要什么,但upload_toimagefield 的参数可能是你需要的


推荐阅读