【问题标题】:DJANGO render to PDF , QUERYSETDJANGO 渲染为 PDF , QUERYSET
【发布时间】:2023-03-06 09:41:01
【问题描述】:

我正在使用我的 django-admin,我正在尝试将我的 obj 渲染为 pdf。这是我的定义:

def Imprimir(self, request, obj):

    data = {
            'id':obj.values_list('id', flat=True),
            'freguesia': obj.values_list('freguesia',flat=True), 
            'rua': obj.values_list('rua',flat=True),
            'porta': obj.values_list('porta',flat=True),
            'tavaria':obj.values_list('tipo_avaria',flat=True),
    }
    pdf = render_to_pdf('daa/imprimir/avarias_pdf.html', data)
    return HttpResponse(pdf, content_type='application/pdf')    

https://i.stack.imgur.com/22V1I.png

问题只是显示我的查询集和 ID,我想显示查询集的名称而不是 ID。任何人都可以帮助我吗?

我的 avarias_pdf.html

<table style="width:100%">
                <tr>
                    <th>ID:</th>
                    <th>Freguesia:</th>
                    <th>Rua:</th>  
                    <th>Porta:</th>
                    <th>Tipo avaria:</th>
                 </tr>
                  <tr> 
                        <td>{{id}}</td>   
                        <td>{{freguesia}}</td>
                        <td>{{rua}}</td> 
                        <td>{{porta}} </td>
                        <td>{{tavaria}}</td>
                    </tr>

        </table>

【问题讨论】:

  • 您需要出示您的 avarias_pdf 模板。
  • @DanielRoseman 已编辑

标签: django pdf render


【解决方案1】:

这根本不是正确的方法。您应该删除所有那些 values_list 调用,并遍历模板中的查询集。

def Imprimir(self, request, obj):
    data = {'obj': obj}
    pdf = render_to_pdf('daa/imprimir/avarias_pdf.html', data)
    return HttpResponse(pdf, content_type='application/pdf')    

...

{% for item in obj %}
    <tr>
        <td>{{ item.id }}</td>   
        <td>{{ item.freguesia }}</td>
        <td>{{ item.rua }}</td> 
        <td>{{ item.porta }} </td>
        <td>{{ item.tavaria }}</td>
    </tr>
{% endfor %}

【讨论】:

  • 如果我有一个 ForeignKey 到 id,并且想在另一个模型中打印另一个字段的名称,我该怎么办?
猜你喜欢
  • 2020-04-12
  • 1970-01-01
  • 1970-01-01
  • 2016-11-22
  • 2014-03-15
  • 2012-03-01
  • 2014-09-02
  • 2010-11-25
  • 1970-01-01
相关资源
最近更新 更多