Skip to content

client

django_spire.contrib.html_renderer.client

HtmlRendererClient

Source code in django_spire/contrib/html_renderer/client.py
def __init__(
    self,
    base_url: str | None = None,
    api_key: str | None = None,
) -> None:
    self.base_url = base_url or settings.HTML_RENDERER_URL
    self.api_key = api_key or settings.HTML_RENDERER_ACCESS_KEY

base_url = base_url or settings.HTML_RENDERER_URL instance-attribute

api_key = api_key or settings.HTML_RENDERER_ACCESS_KEY instance-attribute

get_site_url staticmethod

Source code in django_spire/contrib/html_renderer/client.py
@staticmethod
def get_site_url() -> str:
    if settings.DEBUG:
        return f'http://host.docker.internal:{settings.HTML_RENDERER_PORT}'

    return f'https://{Site.objects.get_current()}'

html_to_pdf

Source code in django_spire/contrib/html_renderer/client.py
def html_to_pdf(self, media_url: str, file_name: str) -> InMemoryUploadedFile:
    file = self._request('html_to_pdf', media_url)

    return InMemoryUploadedFile(
        file=ContentFile(file),
        field_name='html_renderer',
        name=file_name,
        content_type='application/pdf',
        size=len(file),
        charset=None,
    )

html_to_png

Source code in django_spire/contrib/html_renderer/client.py
def html_to_png(
    self,
    media_url: str,
    file_name: str,
    screen_width: int = -1,
    screen_height: int = -1,
) -> InMemoryUploadedFile:
    file = self._request(
        'html_to_png',
        media_url,
        screen_width=screen_width,
        screen_height=screen_height,
    )

    return InMemoryUploadedFile(
        file=ContentFile(file),
        field_name='html_renderer',
        name=file_name,
        content_type='image/png',
        size=len(file),
        charset=None,
    )