Посмотрите на код для 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'