-2

djangoで金額を1万ルピーに変換する方法. たとえば、金額が 100 000 の場合、1 Lakh を表示したいとします。カスタム テンプレート タグを使用してこれを行うことは可能ですか?

私は初心者なので、これを行うために書いたコードです。しかし、これをテンプレートタグで使用するにはどうすればよいでしょうか?

if properties.expected_price >= 100000:
    expected_price_in = expected_price/100000
elif properties.expected_price >= 1000000:
    expected_price_in = expected_price/1000000
else:
    expected_price_in = expected_price
4

1 に答える 1

1

Django カスタム テンプレート フィルタについての適切な説明は、ここここにあります。簡単な説明だけさせていただきます。まず、django アプリ内にフォルダー テンプレートタグを作成し、__init__.pyファイルを追加する必要があります。新しいフォルダーに、たとえばcustom_filters.py次の内容の .py ファイルを作成します。

from django import template

register = template.Library()

@register.filter
def num_format(value):
    if value >= 1000000:
        return value/1000000
    elif value >= 100000:
        return value/100000
    else:
        return value

これで、次のようにテンプレートで使用できます。

{% load custom_filters %}
{{ your_number|num_format }}

しかし、ヒューマナイズユーティリティも検討することをお勧めします。おそらくそれはあなたの問題を解決することができます。

設定 INSTALLED_APPS 'django.contrib.humanize' に追加して、テンプレートでこれを試してください:

{% load humanize %}
{{ your_number|intword }}
于 2016-12-06T12:07:06.130 に答える