Как передать ответ в формате 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/)