有没有更简单的方法用Python编写文本电子邮件模板?

2024-09-24 06:30:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我一定是错过了什么。以下是我所能接受的(jinjatrim_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,希望你能给我指出正确的方向


Tags: ornamebranchifaddresstypeorderproduct