Как передать ответ в формате pdf в качестве вложения файла?

У меня есть модель models.py

class Dibbs(models.Model):
     name = models.CharField(max_length=20) 

views.py

def index(request):
    dibbs_obj = Dibbs.objects.all()
    solit_list = Dibbs.objects.values_list('name', flat=True).distinct()
    context ={'dibbs_obj':dibbs_obj,'solit_list':solit_list}
    return render(request,"Partsbase-data-table (1).html",context)

def display_pdf(request):
    r = request.GET.get('solit_list')
    buffer = io.BytesIO()
    buffer.seek(0)
    return FileResponse(buffer, as_attachment=True, filename='')

Шаблон:

{% for i in dibbs_obj %}
<td data-label="name"><a href="{% url 'display_pdf' %}">{{ i.name }}</a></td>
{% endfor %}

В папке media/uploads/ находится точный pdf файл name.

Итак, я создал еще одну функцию представления для потоковой передачи pdf файла в качестве ответа файла, когда я нажимаю на имя в шаблоне

Как правильно использовать эту функцию FileResponse, чтобы она открывала одноименную ссылку?

(В этом случае данные, находящиеся в папке name , имеют соответствующий pdf-файл name.pdf в папке media/uploads/)

Вернуться на верх