为了账号安全,请及时绑定邮箱和手机立即绑定

如何添加PDF供管理员查看订单

如何添加PDF供管理员查看订单

牛魔王的故事 2023-10-31 16:33:34
我尝试在管理面板中添加通过 PDF 查看订单的选项,但收到错误,我不知道原因也不知道如何修复它。这就是我一步一步做的。现在的问题是,我已尝试重新启动所有内容,但仍然收到错误消息。$ pip install weasyprint django-import-export然后我将其添加到已安装的应用程序中'import_export', 这是 admin.pydef 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_requireddef 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')
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

weasyprint 或 django-import-export 依赖于 libcairo 是一个共享库。有些 python 包会自动编译所有依赖项,但情况并非如此。如果您不想自己弄清楚如何安装 libcairo,我建议您使用 Anaconda,它在 Windows 上安装依赖项方面做得很好。

https://www.anaconda.com/products/individual

我验证了 Anaconda 具有 cairocffi 包,它是触发错误的 libcairo 周围的 python 包装器。

https://anaconda.org/conda-forge/cairocffi


查看完整回答
反对 回复 2023-10-31
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信