以编程方式在Django中创建和上传图像

时间:2018-12-06 21:31:04

标签: python django python-3.x django-rest-framework python-imaging-library

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

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)

当处理带有图像数据的发布请求时,此方法很好用。

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

1 个答案:

答案 0 :(得分:0)

不清楚您想要什么,但是可能需要imagefield的upload_to参数