我尝试在管理面板中添加通过 PDF 查看订单的选项,但收到错误,我不知道原因也不知道如何修复它。
这就是我一步一步做的。现在的问题是,我已尝试重新启动所有内容,但仍然收到错误消息。
$ pip install weasyprint django-import-export
然后我将其添加到已安装的应用程序中'import_export', 这是 admin.py
def order_pdf(obj):
return mark_safe('<a href="{}">PDF</a>'.format(reverse('orders:admin_order_pdf', args=[obj.id])))
order_pdf.short_description = 'Order PDF'
class OrderAdmin(ImportExportActionModelAdmin):
list_display = ['id', order_pdf]
这是views.py
@staff_member_required
def admin_order_pdf(request,order_id):
Order = get_object_or_404(order,id=order_id)
html = render_to_string('order/pdf.html',{'order':Order})
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'filename="order_{}.pdf"'.format(Order.id)
# weasyprint.HTML(string=html).write_pdf(response,stylesheets=[weasyprint.CSS(settings.STATIC_ROOT + 'css/pdf.css')])
weasyprint.HTML(string=html).write_pdf(response,stylesheets=[weasyprint.CSS(settings.STATIC_ROOT)])
return response
这是 url.py
path('admin/order/(?P<order_id>\d+)/pdf/$', views.admin_order_pdf, name='admin_order_pdf')
小怪兽爱吃肉
相关分类