Как сгенерировать PDF в Django Generic Views? - PullRequest
0 голосов
/ 30 января 2019

У меня есть шаблон, который отображается в общем виде списка.Я хочу дать ссылку на скачивание перед каждой строкой данных в таблице.Ссылка для скачивания создаст файл PDF с соответствующими данными строк.Подскажите пожалуйста, как написать код для этого?

Views.py

class BookingConfirmationListView(LoginRequiredMixin, generic.ListView):
    model = container_booking
    template_name = 'home/booking_confirmation_detail.html'
    context_object_name = 'all_container'

    def get_queryset(self):
        return container_booking.objects.all()

Шаблоны выглядят как

<table class="table-striped table-hover table-bordered" width="100%">
  <tr>
    <th>Date</th>
    <th>Source</th>
    <th>Destination</th>
    <th>Container</th>
    <th>Commodity</th>
    <th>Agreed Rate</th>
    <th>Edit</th>
    <th>Delete</th>
    <th>Status</th>
  </tr>
{% for item in all_container %}
  <tr>
    <td>{{ item.date }}&nbsp;</td>
    <td>{{ item.place_of_reciept }}&nbsp;</td>
    <td>{{ item.final_place_of_destination }}&nbsp;</td>
    <td>{{ item.equipment_type }}{{ item.quantity }}&nbsp;</td>
    <td>{{ item.commodity }}&nbsp;</td>
    <td>{{ item.agreed_rate }}&nbsp;</td>
    <td><a href="{% url 'home:cont_bk-update' item.id %}" ><i class="fas 
         fa-edit"></i></a></td>
    <td><a href="{% url 'home:cont_bk-delete' item.id %}" ><i class="fas 
         fa-trash"></i></a></td>
    <td>{{ item.approved }}</td>
  </tr>
{% endfor %}
</table>

urls.py

url(r'^cont_bkdetail$', views.BookingConfirmationListView.as_view(), 
name='cont_bk-detail'),
url(r'^cont_bk/(?P<pk>[0-9]+)/$', 
views.BookingConfirmationUpdate.as_view(), name='cont_bk-update'),
url(r'^cont_bk/(?P<pk>[0-9]+)/delete/$', 
views.BookingConfirmationDelete.as_view(), name='cont_bk-delete'),

Я хочу, чтобы всякий раз, когда я нажимал на скачивание,PDF-файл этой строки генерируется.

...