我想生成多个(多个)PDF并在单个标签中打开每个PDF,以便进行审核和跟进。
目前我不想在审核之前保存PDF,所以我使用GET方法。我使用表单来收集PDF生成的配置,并使用提交按钮我打开一个新选项卡,其中包含用于生成PDF的参数化URL。请在下面找到关键要素。
urls.py
url(
r'^tags_list/$',
view=views.tags_list,
name="tags_list"
),
url(
r'^tags/$',
view=views.generate_pdfs,
name='report'),
tags_list.html
<form action="/tags/" method="get">
{{ form }
...
<input type="submit" value="Submit" formtarget="_blank"/>
</form>
views.py
def generate_pdfs(request, **kwargs):
# get kwargs
tags = request.GET.get('tags')
...
response = reports.pdf1(context)
#response = reports.pdf2(context)
#response = reports.pdf3(context)
return response
reports.py
def pdf1(context):
html = render_to_string('pdf1.html', context)
#generate PDF response, I use weasyprint for that
return response
pdf1.html
<html>...</html>
但是我没有找到关于如何从视图(Django)打开多个标签的示例,可能是因为缺乏知识(这是很好的存在,缺乏)或者这是不可能(或者在Django中很难),或者这是一个非常不正统的请求。
由于视图访问的模型中的随机数据处理,用于打开具有略微不同网址的多个标签的JS解决方案对我不起作用;除非此解决方案将参与视图功能,即一次读取数据并使用此数据生成的数量。