1

私は、複数の場所で使用されるHTMLのこのビットを持っています。

            {% if event.finished_payments %}
            <span class="label label-success">Complete</span>
            {% else %}
            <span class="label label-important">Incomplete</span>
            {% endif %}

ブール値を取り込んで、引数がであるかどうか、または引数が次のようになっていると思われるかどうかに応じて、テンプレートタグを記述したいと思います<span class="label label-success">Complete</span><span class="label label-important">Incomplete</span>TrueFalse

{%tf_label event.finished_pa​​yments%}

includeまたは、テンプレートタグを使用してこれを実現し、パラメーターを渡す別の方法はありますか?

4

2 に答える 2

4
{{ event.finished_payments|yesno:"<span class='label label-success'>Complete</span>,<span class='label label-important'>Incomplete</span>" }}

ただし、{% if %}ここではタグを使用するのが最善の方法であり、読みやすくなっていると思います。とにかく、HTMLはPythonコードではなく、テンプレートに存在する必要があります。

于 2012-05-22T08:55:35.880 に答える
4

これでうまくいくはずです(テストされていません):

from django import template

register = template.Library()

@register.simple_tag
def tf_label(request, complete):
    if complete:
        element = '<span class="label label-success">Complete</span>'
    else
        element = '<span class="label label-important">Incomplete</span>'

    return element
于 2012-05-22T08:51:43.200 に答える