Html jinja2.exceptions.UnfinedError:&x27;str对象';

Html jinja2.exceptions.UnfinedError:&x27;str对象';,html,jinja2,Html,Jinja2,我得到了这个模板retention.html,它创建了一个PDF文件。但一个错误正在出现 {% extends "voucher.html" %} {% block company %} {% with infoVoucherTag='infoCompRetencion' %} {% include 'company.html' %} {% endwith %} {% endblock %} {% block information %}

我得到了这个模板retention.html,它创建了一个PDF文件。但一个错误正在出现

{% extends "voucher.html" %}
{% block company %}
    {% with infoVoucherTag='infoCompRetencion' %}
        {% include 'company.html' %}
    {% endwith %}
{% endblock %}
{% block information %}
    {% with voucherTitle='F A C T U R A' %}
        {% include 'information.html' %}
    {% endwith %}
{% endblock %}
{% block body %}
<div style="padding: 2px 2px 0px 2px" class="card border-dark mb-3">
    <table class="table table-sm">
        <tbody>
            <tr>
                <td class="align-middle"><b>RAZÓN SOCIAL / NOMBRES Y APELLIDOS: </b>{{ voucher['infoCompRetencion']['razonSocialSujetoRetenido'] }}</td>
                <td class="align-middle"><b>IDENTIFICACIÓN: </b>{{ voucher['infoCompRetencion']['identificacionSujetoRetenido'] }}</td>
            </tr>
            <tr>
                <td class="align-middle"><b>FECHA DE EMISIÓN: </b>{{ voucher['infoCompRetencion']['fechaEmision'] }}</td>
                <td class="align-middle"><b>GUÍA DE REMISIÓN: </b>{{ voucher['infoCompRetencion']['guiaRemision'] }}</td>
            </tr>
            <tr>
                <td class="align-middle" colspan="2"><b>DIRECCIÓN: </b>{{ voucher['infoCompRetencion']['dirEstablecimiento'] }}</td>
            </tr>
        </tbody>
    </table>
    </div>
    <div style="padding: 2px 2px 0px 2px" class="card border-dark mb-3">
    <table class="table table-sm">
        <thead>
            <tr>
                <th class="align-bottom"><center>Código de sustento</center></th>
                <th class="align-bottom"><center>Número</center></th>
                <th class="align-bottom"><center>Fecha Emisión</center></th>
                <th class="align-bottom"><center>Ejercicio Fiscal</center></th>
                <th class="align-bottom"><center>Base imponible para la rentención</center></th>
                <th class="align-bottom"><center>Impuesto</center></th>
                <th class="align-bottom"><center>Codigo Retencion</center></th>
                <th class="align-bottom"><center>Porcentaje Retención</center></th>
                <th class="align-bottom"><center>Valor Retenido</center></th>
            </tr>
        </thead>
        <tbody>
            {% if voucher['codDocSustento']|length < 6 %}
                {% for detail in voucher['impuestos']['impuesto'] %}
                    <tr align="center">
                        <td class="align-middle">{{ voucher['codDocSustento'] }}</td>
                        <td class="align-middle">{{ detail['numDocSustento'] }}</td>
                        <td class="align-middle">{{ detail['fechaEmisionDocSustento'] }}</td>
                        <td class="align-middle">{{ voucher['infoCompRetencion']['periodoFiscal'] }}</td>
                        <td class="align-middle">{{ detail['baseImponible'] }}</td>
                        {% if (detail['codigoRetencion'] > 299 and detail['codigoRetencion'] < 500) or (detail['codigoRetencion'] == '3440') %}
                            <td class="align-middle">RENTA</td>
                        {% else %}
                            <td class="align-middle">IVA</td>
                        {% endif %}
                        <td class="align-middle">{{ detail['codigoRetencion'] }}</td>
                        <td class="align-middle">{{ detail['porcentajeRetener']+'%' }}</td>
                        <td class="align-middle">{{ detail['valorRetenido'] }}</td>
                    </tr>
                {% endfor %}
            {% else %}
                <tr align="center">
                    <td class="align-middle">{{ voucher['codDocSustento'] }}</td>
                    <td class="align-middle">{{ voucher['impuestos']['impuesto']['numDocSustento'] }}</td>
                    <td class="align-middle">{{ voucher['impuestos']['impuesto']['fechaEmisionDocSustento'] }}</td>
                    <td class="align-middle">{{ voucher['infoCompRetencion']['periodoFiscal'] }}</td>
                    <td class="align-middle">{{ voucher['impuestos']['impuesto']['baseImponible'] }}</td>
                    {% if (voucher['codigoRetencion'] > 299 and voucher['codigoRetencion'] < 500) or (voucher['impuestos']['impuesto']['codigoRetencion'] == '3440') %}
                        <td class="align-middle">Impuesto a la Renta</td>
                    {% else %}
                        <td class="align-middle">IVA</td>
                    {% endif %}
                    <td class="align-middle">{{ voucher['impuestos']['impuesto']['codigoRetencion'] }}</td>
                    <td class="align-middle">{{ voucher['impuestos']['impuesto']['porcentajeRetener']+'%' }}</td>
                    <td class="align-middle">{{ voucher['impuestos']['impuesto']['valorRetenido'] }}</td>
                </tr>
            {% endif %}
        </tbody>
    </table>
</div> 
{% endblock %}

我不知道我要改变什么来解决这个问题。这是制作PDF文件的格式

请同时包含服务器端代码。
jinja2.exceptions.UndefinedError: 'str object' has no attribute 'codigoRetencion'