from jinja2 import Environment, TemplateError, TemplateSyntaxError, UndefinedError
jinja_env = Environment()
template = """
{{ ticket.period }}
"""
ticket = TicketSerializer(Ticket.objects.get(id=1268075)).data
pprint(ticket)
code = jinja_env.from_string(template)
print(code.render({
'ticket': ticket
}))
expr1 = jinja_env.compile_expression("""
ticket.period == '01.2019' and
ticket.char_main.value in ['1', '2', '3']
""")
print(expr1(ticket=ticket))
expr2 = jinja_env.compile_expression("""
ticket.purp.value == '7' and
(ticket.visit_pol > 0 or ticket.visit_hom > 0)
""")
print(expr1(ticket=ticket))
errors = []
template = """
{% if ticket.prof_k == 55 %}
{{ errors.append('WTF') }}
{% endif %}
{{ errors.append('WTF2') }}
"""
ticket = TicketSerializer(Ticket.objects.get(id=1268075)).data
pprint(ticket)
code = jinja_env.from_string(template)
code.render({
'errors': errors,
'ticket': ticket
})
print(errors)