Jinja ошибка при попытке запустить шаблон мако в Odoo

Я получил эту ошибку при попытке запустить этот отчет, который написан в шаблоне mako:

Encountered unknown tag 'total_price'. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'.

<class 'jinja2.exceptions.TemplateSyntaxError'>,Encountered unknown tag 'total_price'. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'.,<traceback object at 0x02F2F490>

В openerp 7 он работал нормально, но в odoo 8 не работал.

                <% total_price = 0.0 %>
                %for line_container_ids in shipping.container_line_ids:
                    <%
                        total_price = line_container_ids.product_qty * line_container_ids.net_price
                        curr = line_container_ids.currency_id.name
                    %>
                % endfor

1 ответ

Решение

Начиная с Odoo V8 вам нужно изменить используемый синтаксис, и кажется, что с jinja2 делать такие вещи очень сложно. Вот пример, протестированный с заказом на продажу в Odoo V9:

% set total_price = []
% for line in object.order_line:
    % if total_price.append(line.price_subtotal)
    % endif
% endfor
${sum(total_price)}
Другие вопросы по тегам