我需要从用户选择的 djangos 管理页面中打印突出显示的记录。我已经添加了打印选定记录的操作,但似乎无法进一步。
我已经测试了在 admin.py 中的“print_member”操作中创建了一个“hello world”pdf 的 reportlab,并且运行正常。
我的问题是如何获取“刚刚突出显示的记录选择打印”并将该查询集数据提供给 reportlab 画布调用。
我在 django 文档中的任何地方都找不到如何从在管理页面中选择记录到在HttpResponse
调用的响应部分中实际返回该记录。
我目前的代码是:
def print_member( self, request, queryset ):
rows_updated = queryset.update( status = 'p' )
if rows_updated == 1:
message_bit = "member detail was collected successfully !!"
self.message_user( request, "%s detailed ready for printing!!" % message_bit )
response = HttpResponse( content_type = 'application/pdf' )
response[ 'Content-Disposition' ] = 'attachment; filename="member_label.pdf"'
p = canvas.Canvas( response )
details = list( request )
p.drawString( 100,100,detail_string )
p.showPage()
p.save()
return response
我的测试代码 admin.py 如下:- def print_member( self, request, queryset ): rows_updated = queryset.update( status = 'p' ) if rows_updated == 1: message_bit = "成员详细信息已成功收集!!" self.message_user(request, "%s details ready for printing!!" % message_bit ) response = HttpResponse( content_type = 'application/pdf' ) response[ 'Content-Disposition' ] = 'attachment; filename="member_label.pdf"' p = canvas.Canvas( response ) details = list( request ) p.drawString( 100,100,detail_string ) p.showPage() p.save() 返回响应