Как прикрепить файл из 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?

Вернуться на верх