Проблема рендеринга jinja2: AttributeError: объект «unicode» не имеет атрибута «__call__»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема рендеринга jinja2: AttributeError: объект «unicode» не имеет атрибута «__call__»

Сообщение Anonymous »

Я пытаюсь выполнить следующий отфильтрованный отчет о транзакциях из проекта piecash:

Код: Выделить всё

from __future__ import print_function
import datetime
import re
import os.path

from piecash import open_book

if __name__=='__main__':
this_folder = os.path.dirname(os.path.realpath(__file__))
s = open_book(os.path.join(this_folder, "teste.gnucash"), open_if_lock=True)
else:
s = open_book(os.path.join("teste.gnucash"), open_if_lock=True)

# get default currency
print(s.default_currency)

regex_filter = re.compile(u"^/Ativos/Dinheiro/Carteira")

# retrieve relevant transactions
transactions = [tr for tr in s.transactions  # query all transactions in the book/session and filter them on
if (regex_filter.search(tr.description)  # description field matching regex
or any(regex_filter.search(spl.memo) for spl in tr.splits))  # or memo field of any split of transaction
and tr.post_date.date() >= datetime.date(2016, 03, 1)]  # and with post_date no later than begin nov.

try:
import jinja2
except ImportError:
print("\n\t*** Install jinja2 ('pip install jinja2') to test the jinja2 template version ***\n")
jinja2 = None

if jinja2:
env = jinja2.Environment(trim_blocks=True, lstrip_blocks=True)
print(env.from_string("""
Here are the transactions for the search criteria '{{regex.pattern}}':
{% for tr in transactions %}
- {{ tr.post_date.strftime("%Y/%m/%d") }} : {{ tr.description }}
{% for spl in tr.splits %}
{{ spl.value.__abs__() }} {% if spl.value < 0 %} --> {% else %} 

Подробнее здесь: [url]https://stackoverflow.com/questions/36083174/jinja2-rendering-issue-attributeerror-unicode-object-has-no-attribute-cal[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»