Есть ли более простой способ написания текстовых почтовых шаблонов на Python? - PullRequest
0 голосов
/ 08 апреля 2019

Должно быть, я что-то здесь упускаю.Ниже следует, насколько я могу судить (jinja с trim_blocks, а не с шаблонами Django):

{%- if order.contact_name -%}
    Name: {{ order.contact_name + '\n' -}}
{%- endif -%}
Phone: {{ order.phone + '\n' -}}
{%- if order.email -%}
    Email: {{ order.email + '\n' -}}
{%- endif -%}
{%- if order.comment -%}
    Comment: {{ order.comment + '\n' -}}
{%- endif -%}

{%- if order.delivery_type or order.town or order.branch or order.address -%}
    {{- '\n' -}}

    {%- if order.delivery_type -%}
        Delivery type: {{ order.delivery_type.display_name_short + '\n' -}}
    {%- endif -%}
    {%- if order.town -%}
        Town: {{ order.town + '\n' -}}
    {%- endif -%}
    {%- if order.branch -%}
        Branch: {{ order.branch + '\n' -}}
    {%- endif -%}
    {%- if order.address -%}
        Address: {{ order.address + '\n' -}}
    {%- endif -%}
{%- endif -%}

{%- for pvxo in order.productvariantxorders.all() -%}
    {{- '\n' -}}
    Category: {{ (pvxo.productvariant.product.subcategory.category.name
        if pvxo.productvariant
        else pvxo.product.subcategory.category.name) + '\n' -}}
    Product: {{ (pvxo.productvariant.product.name
        if pvxo.productvariant
        else pvxo.product.name) + '\n' -}}
    {%- if pvxo.productvariant -%}
        Size: {{ pvxo.productvariant.size.name + '\n' -}}
    {%- endif -%}
    Price: {{ pvxo.amount }} x {{ (pvxo.productvariant.product.price
        if pvxo.productvariant
        else pvxo.product.price) | string + '\n' -}}
    {{- (pvxo.productvariant.product.get_absolute_url()
        if pvxo.productvariant
        else pvxo.product.get_absolute_url()) + '\n' -}}
{%- endfor -%}

* * * * * * * * * * * * * * * * * Есть немного больше -, чем на самом деле нужно, но неширокий край.И это не значит много думать о том, чтобы добавить -.Дополнительные не причиняют вреда.

Я не одержим jinja, и надеюсь, что вы укажете мне правильное направление.

...