Как прикрепить файл из url с помощью django weasyprint?
Я пытаюсь прикрепить файл из url с помощью django и weasyprint, django-weasyprint
Вид pdf:
class OrdineDetailView(LoginRequiredMixin, DetailView):
model = Ordine
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["merce"] = OrdineMerce.objects.filter(ordine=kwargs.get("object"))
return context
class OrdinePrintView(WeasyTemplateResponseMixin, OrdineDetailView):
# output of MyDetailView rendered as PDF with hardcoded CSS
pdf_stylesheets = [
settings.STATIC_ROOT / "ordini/ordine.css",
]
# show pdf in-line (default: True, show download dialog)
pdf_attachment = True
Затем у меня есть конечная точка api, при нажатии на которую отправляется электронное письмо.
class InviaOrdineView(APIView):
def get(self, request, pk):
pdf_url = f"{settings.PROTOCOL}gestione.{settings.PARENT_HOST}/ordini/{pk}/pdf/"
url = urllib.request.urlopen(pdf_url)
pdf = url.read()
mail = EmailMessage(
"Ordine merce",
"Con questa vi ordiniamo la merce che trovate in allegato a questa email.",
settings.DEFAULT_FROM_EMAIL,
[settings.DEFAULT_FROM_EMAIL, email_fornitore],
)
mail.attach("ordine.pdf", pdf, "application/pdf")
mail.send()
Электронное письмо отправлено, но вложение не может быть прочитано.
Как прикрепить файл по url?