Django визуализирует в pdf с помощью кнопки

У меня есть def, который рендерит в pdf с действием на django-admin.

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 у меня есть циклы, которые составляют список всех полей, которые я хочу от этих объектов.

Но сейчас я не хочу отображать список в формате pdf. Я хочу сделать только 1 объект. Поэтому я создаю пользовательскую кнопку для этого.

http://prntscr.com/muijhl

Поэтому, когда я нажимаю кнопку, я хочу отобразить в pdf открытый объект. Я не знаю, что мне нужно сделать, чтобы получить свою защиту, но внутри кнопки


person Pedro Mariz    schedule 20.03.2019    source источник


Ответы (1)


Чтобы узнать, как перехватить этот код как представление с собственным URL-адресом, в официальном документе есть отличный пример (но вы должны знать, что искать, чтобы найти его)

Затем вам нужно будет переопределить шаблон change_form, чтобы добавить кнопка/ссылка, указывающая на этот URL.

person bruno desthuilliers    schedule 20.03.2019