0

我对如何使用 wkHTMltoPDF 有疑问,我在 docker-compose 和 Django 中运行。我也无法理解如何在 Django 中设置它并以正确的方式使用它。我会很高兴得到任何帮助。我的 docker-compose.yml:

version: '3.7'

services:
  db:
    image: postgres:13.0
    restart: always
    environment:
      POSTGRES_PASSWORD: trytofindme
    ports:
      - 15432:5432
  adminer:
    image: adminer
    restart: always
    ports:
      - 8020:8080
  wkhtmltopdf:
    image: openlabs/docker-wkhtmltopdf-aas:latest
    volumes:
      - .:/data

所以,我什至无法想象在 Django 中我应该在哪里做。我需要的使用示例:在主页上填写一些表格,然后单击“生成”按钮。它应该在生成此页面的 pdf 文件时发送异步请求,并填写表格。有人可以帮我实现吗?

4

1 回答 1

0

您需要设置一个新镜像,您可以使用 python 3.7 作为基础镜像。wkhtmltopdf 二进制文件可以使用https://github.com/aatonw/docker-alpine-wkhtmltopdf-patched-qt制作。

这就是我的 docker 文件的外观。

FROM python:3.7-alpine

COPY ./requirements.txt .

RUN set -e; \
        apk add --no-cache mariadb-connector-c-dev ;\
        apk add --no-cache --virtual .build-deps \
        gcc \
        libc-dev \
        linux-headers \
        mariadb-dev \
        jpeg-dev \
        zlib-dev \
        libffi-dev \
        musl-dev \
        libxml2-dev \
        libxslt-dev \
        wkhtmltopdf \
        poppler-utils;
COPY docker_files/wkhtmltopdf /usr/bin/wkhtmltopdf
COPY docker_files/wkhtmltoimage /usr/bin/wkhtmltoimage
RUN set -e; \
    pip install --upgrade pip; \
    pip install -r requirements.txt;
COPY ./src /app
WORKDIR /app
CMD [ "python", "manage.py", "runserver" ]
于 2020-10-27T11:49:05.863 回答