Django使用按钮

时间:2019-03-20 12:09:24

标签: django pdf django-admin rendering

我有def可以通过django-admin上的操作呈现为pdf。

def Print(self, request, obj):
    data = {
            'obj':obj
    }
    pdf = render_to_pdf('daa/imprimir/pdf.html', data)
    if pdf :
        response = HttpResponse(pdf, content_type='application/pdf')
        filename ="Avaria_%s.pdf" %("123451231")
        content = "inline; filename='%s'" %(filename)
        response['Content-Disposition'] = content
        download = request.GET.get("download")
        if download:
                content = "attachment; filename='%s'" %(filename)
        response['Content-Disposition'] = content
        return  response
    return HttpResponse("Not found")

根据我的动作,

class ModelAdmin(admin.ModelAdmin):
    actions = [Print]

一切正常,我选择了要渲染的对象,在我的html中,有个cicle列出了我想要的所有obj字段。

但是现在我不想将列表渲染为pdf。我只想渲染1个obj。因此,我创建了一个自定义按钮来做到这一点。

http://prntscr.com/muijhl

因此,当我单击按钮时,我想将打开的obj渲染为pdf。我不知道该如何做才能取得定义,但是在按钮内部

1 个答案:

答案 0 :(得分:2)

有关如何使用自己的网址there's a perfect example in the official doc将此代码作为视图挂钩(但您必须知道要查找的内容)

然后,您必须override your change_form template添加指向该URL的按钮/链接。