Как добавить изображения в python docxtpl из url
У меня есть документ docxtpl, но мне нужно добавить изображения в InlineImage с url, а не с локального диска.
Я использую Django
Так это работает (документ является DocxTemplate):
InlineImage(document,'C:/Users/sande/Pictures/myimage.png')
Но как мне это сделать?
InlineImage(document,'https://files-cdn.myhost.net/3255/ddef9d07-0a6b-4f54-801a-c016e6d41885/myimage.png')
image_descriptior не принимает url.:
Exception has occurred: OSError [Errno 22] Invalid argument:'https://files-cdn.myhost.net/3255/ddef9d07-0a6b-4f54-801a-c016e6d41885/myimage.png'
Я нашел, что делать:
В моей модели я добавил следующее (я использую модель с урлами изображений в поле char под названием ImageURL)
from django.db import models
import requests
import io
class myModel(models.Model)
ImageURL = models.CharField(max_length=250, null=True, blank=True)
@property
def product_image(self):
"Returns the product image"
response = requests.get(self.ImageURL)
image_bytes = io.BytesIO(response.content)
return image_bytes
Вы можете использовать это свойство в классе inlineimage в docxtpl, и оно работает