Weasyprint не загружает локальное изображение Django

view:

from django.shortcuts import render
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
import base64

from django.template.loader import render_to_string
from weasyprint import HTML
from io import BytesIO
from django.http import HttpResponse

# Create your views here.
import json
from apps.pdf.models import Personas
from django.conf import settings
from apps.pdf.base_urls import PDF_BASE_FOLDER , PDF_CERT_SERV_FOLDER
import os



@api_view(["GET", "POST"])
def test(request):
    # Renderizar la plantilla HTML con los datos
    # datos = json.loads(request.body)
    datos = {"name": "pedro"}
    context={
        "STATIC_URL" : settings.STATIC_URL
    }
    query = Personas.objects.filter(name=datos.get("name")).values()[0]

    html_template = render_to_string("pdfs_templates/Certificado.html", context)

    pdf_file = BytesIO()
    HTML(string=html_template).write_pdf(pdf_file)


    nombre_archivo = "example.pdf"

    ruta_carpeta_servidor = PDF_CERT_SERV_FOLDER
    ruta_completa_archivo = os.path.join(ruta_carpeta_servidor, nombre_archivo)

    with open(ruta_completa_archivo, "wb") as f:
        f.write(pdf_file.getvalue())

    response = HttpResponse(content_type="application/pdf")
    # response["Content-Disposition"] = f'attachment; filename="{nombre_archivo}"'
    response.write(pdf_file.getvalue())



    return response

def vie(request):
    context={
        "STATIC_URL" : settings.STATIC_URL
    }
    return render(request, 'pdfs_templates/Certificado.html', context)

Шаблон :

{% load static %}
{% block content %}
<!DOCTYPE html>
<html>

<head>
    <style type="text/css" media="all">
        @page {
            /* size: A4 portrait; /* can use also 'landscape' for orientation */
            margin: 100px 1cm 150px 1cm;

            @top-left {
                content: element(header);
            }

            @bottom-left {
                content: element(footer);
            }

        }


        header {
            position: running(header);
            /*height: 100px;*/
        }
        table, th, td {
            border:1px solid black;
          }

        footer {
            position: running(footer);
            /*height: 150px;*/
        }
    </style>

</head>

<body>
    <header>
        <img src="{{STATIC_URL}}resources/Escudo_Prov600.jpg" alt="">
        <img src="/static/resources/Escudo_Prov600.jpg" alt="">
    </header>



    <footer>
        2341241
    </footer>

</body>

</html>
{% endblock content %}

настройки :

Изображение отлично загружается в " def vie() ", но в тесте, pdf показывает только текст. Ни ошибок, ни логов, ничего. Я не знаю, что делать -_-

(ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) (ИЗВИНИТЕ, НО ЭТО ВСЕ) <

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