我需要将由weasyprint生成的pdf文件放在指定的文件夹中,例如在文件夹“my_project/pdf_files/”中。
注意:我正在使用django框架进行项目开发。以下是项目结构。
my_project/
----pdf_generator_app/
--------admin.py
--------models.py
--------views.py
pdf_files/
目前我的views.py文件中有这个内容
def generate(student_id):
student = get_object_or_404(Student, application_id=student_id)
html = render_to_string('contract.html', {'student': student})
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'filename="some_file.pdf"'
weasyprint.HTML(string=html).write_pdf('myfile.pdf',
presentational_hints=True,
stylesheets=[weasyprint.CSS(settings.STATIC_ROOT + '/css/styles.css')])
return response
但这个视图并不会将PDF文件存储到目录中,它只是在浏览器上显示文件。我需要将文件存储在目录my_project/pdf_files/中。
response['Content-Disposition'] = 'filename="some_file.pdf"'
替换为 **response['Content-Disposition'] = 'attachment; filename="some_file.pdf"'
**,文件将直接被下载。 - Kholdarbekov