Как реализовать размещение содержимого в качестве вложения для пакета django_weasyprint? - PullRequest
0 голосов
/ 25 января 2019

Использование пакета django_weasyprint (реализация на основе классов) для создания PDF.

Я могу создать PDF в браузере, но у меня возникают проблемы при настройке диалога открытия / сохранения как.функция всплывающего окнаЯ знаю, что должен установить расположение содержимого равным вложению (я думаю), но я изо всех сил пытаюсь это сделать.автоматически.

1 Ответ

0 голосов
/ 25 января 2019

Посмотрите на код для WeasyTemplateResponseMixin - есть возможность установить pdf_filename для класса, и если вы это сделаете, то заголовок Content-Disposition будет установлен с это имя файла, так что браузер открывает диалог загрузки / сохранения для файла. Как то так:

Класс ArticlePrintView (WeasyTemplateResponseMixin, ArticleView):

pdf_filename = 'my-pdf.pdf'

Если вам нужно определить имя файла динамически, вы можете переопределить метод get_pdf_filename, чтобы сделать это:

def get_pdf_filename(self):
    return 'some-file.pdf'
...