Django单击操作,在单个选项卡中生成并打开多个PDF

时间:2016-10-28 11:46:29

标签: python django django-forms django-views

我想生成多个(多个)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解决方案对我不起作用;除非此解决方案将参与视图功能,即一次读取数据并使用此数据生成的数量。

0 个答案:

没有答案