Кнопка загрузки в django для преобразования главной страницы в pdf
У меня есть pbl с моей кнопкой загрузки в моем приложении django Я выдаю эту ошибку: " AttributeError at /views.download_my_pdf Объект 'str' не имеет атрибута 'read'
"."
что я сделал не так, пожалуйста?
views.py
def download_pdf(request):
filename = 'faults.pdf'
content = FileWrapper(filename)
response = HttpResponse(content, content_type='application/pdf')
response['Content-Length'] = os.path.getsize(filename)
response['Content-Disposition'] = 'attachment; filename=%s' % 'faults.pdf'
return response
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home),
path('views.download_my_pdf', views.download_pdf, name="download_pdf"),
]
.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> Dashboard Result</title>
</head>
<body style="margin-top: 30px; padding: 100px">
<a class="btn btn-primary" href="{% url 'download_pdf' %}" role="button">Download pdf</a>
{% for key, value in results1.items %}
<tr>
<td>{{ key }} </td>
<td>{{ value }} </td>
</tr>
{% endfor %}
{% autoescape off %}{{ output_df }}{% endautoescape %}
</body>
</html>
Вы можете конвертировать HTML-страницу в PDF на лету и отправить результат в качестве ответа в Django с помощью Django Weasyprint. Например, посмотрите примеры с WeasyTemplateResponseMixin.