我需要從用戶選擇的djangos'管理頁面中打印突出顯示的記錄。 我已經添加了打印選定記錄的操作,但似乎無法繼續。輸出在django中突出顯示的記錄更改管理頁面
我已經測試了reportlab在我的'print_member'行爲中創建'hello world'pdf,它在admin.py &中運行正常。
我的問題是如何抓住'剛剛突出顯示的記錄選擇打印'並將該查詢集數據提供給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(個體,請求,查詢集): rows_updated = queryset.update(狀態= 'p') if rows_updated == 1: message_bit =「成員詳細信息已成功收集!!」 self.message_user(request,「%s準備好打印!!」%message_bit) response = HttpResponse(content_type ='application/pdf') response ['Content-Disposition'] ='attachment;文件名= 「member_label.pdf」」 P = canvas.Canvas(響應) 細節=列表(請求) p.drawString(100,100,detail_string) p.showPage() p.save() 返回響應
我是否正確理解您已使用管理員操作?如果是這樣,你能顯示你現在使用的代碼嗎?否則,首先看到掃羅的答案。 – BakaKuna
所以我所問的是我如何從queryset.update(如果這是正確的,因爲我沒有用實際狀態更新模型='p')來填充reportlab畫布調用的'細節'。如果這不是打印在django管理頁面中選擇的記錄的可接受的方式,那麼你會怎麼做? – gatesy