-1

我需要从用户选择的 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() 返回响应

4

1 回答 1

0

我的建议是使用管理员操作。 https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/

在那里你会得到查询集。然后只需迭代这个查询集并做任何你想做的事情。

于 2013-09-16T12:41:05.803 回答