Джанго рендеринга в PDF с кнопкой - PullRequest
0 голосов
/ 20 марта 2019

У меня 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 открытый объект. Я не знаю, что мне нужно сделать, чтобы взять свою защиту, но внутри кнопки

1 Ответ

2 голосов
/ 20 марта 2019

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...