setuna0531
@setuna0531

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Djangoのテンプレートについて

現在、Djangoを利用し、Templateを作成しています。

その中で、実現したいことが1点あるのですがどのように
表記したらいいか困っているため投稿しました。

minuteという変数を利用しており、中には660,675,690...etcと、
11時からの時刻を15分刻みで分表記に直したものが入っています。

Djangoのテンプレートフィルタにて下記のコードを記述しています。

my_filter.py
@register.filter(name="testminute")
def testminute(minute, args):
    return minute % args

テンプレートで{{minute|testminute:60}}という表記を利用し、
「0,15,30,45」というデータは抜けるのですが、それをIF文で利用したいです。

現在考えているのは、

test.html
{% if {{minute|testminute:60}} == 0 %}
    条件に対する処理実行
{% elif {{minute|testminute:60}} == 15 %}
    条件に対する処理実行
{% elif {{minute|testminute:60}} == 30 %}
    条件に対する処理実行
{% elif {{minute|testminute:60}} == 45 %}
    条件に対する処理実行
{% endif %}

で出来ると思い実行して見たのですが、
Could not parse some characters: |{{minute||testminute:60}}
とエラーが吐かれてしまい実現できませんでした。

テンプレート内でテンプレートフィルタを使用したIF文の記述方法について
教えていただけますと幸いです。
※できない場合、ほかの方法をご教授ください。

よろしくお願いいたします。

0

1Answer

if内では{{ }}は不要です。つまり

{% if minute|testminute:60 == 0 %}

でOKです。elifも同様です。

2Like

Your answer might help someone💌