TECH I.S.

Django if...else


If Statement

ステートメントifは変数を評価し、値がtrueの場合はコードブロックを実行します。

{% if greeting == 1 %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


Elif

キーワードelifは、「前の条件が真ではない場合は、この条件を使用してください」というものです。

{% if greeting == 1 %} <h1>Hello</h1> {% elif greeting == 2 %} <h1>Welcome</h1> {% endif %}

実行例(開発準備中) »


Else

キーワードelseは、前述の条件で捕捉されないものを捕捉します。

{% if greeting == 1 %} <h1>Hello</h1> {% elif greeting == 2 %} <h1>Welcome</h1> {% else %} <h1>Goodbye</h1> {% endif %}

実行例(開発準備中) »


Operators

上記の例では、==変数が値と等しいかどうかを確認するために使用される演算子ですが、他にも使用できる演算子がたくさんあります。また、変数が空でないかどうかを確認するだけの場合は、演算子を削除することもできます。

{% if greeting %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


==

等しい。

{% if greeting == 2 %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


!=

等しくない。

{% if greeting != 1 %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


<

よりも少ない。

{% if greeting < 3 %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


<=

以下です。

{% if greeting <= 3 %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


>

より大きい。

{% if greeting > 1 %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


>=

以上です。

{% if greeting >= 1 %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


and

複数の条件がtrueかどうかを確認します。

{% if greeting == 1 and day == "Friday" %} <h1>Hello Weekend!</h1> {% endif %}

実行例(開発準備中) »


or

条件の1つがtrueかどうかを確認します。

{% if greeting == 1 or greeting == 5 %} <h1>Hello</h1> {% endif %}

実行例(開発準備中) »


and/or

andorを組み合わせます。

{% if greeting == 1 and day == "Friday" or greeting == 5 %}

実行例(開発準備中) »

Djangoでは if 文に括弧は使用できません、andとor演算子を組み合わせ るときは、and には括弧が追加されるが or には追加されないことを知っておくこ とが重要です。

上記の例が処理される場合は次のように読み取られることを意味します。

{% if (greeting == 1 and day == "Friday") or greeting == 5 %}

in

オブジェクトに特定のアイテムが存在するかどうかを確認します。

{% if 'Banana' in fruits %} <h1>Hello</h1> {% else %} <h1>Goodbye</h1> {% endif %}

実行例(開発準備中) »


not in

特定のアイテムがオブジェクトに存在しないかどうかを確認すること。

{% if 'Banana' not in fruits %} <h1>Hello</h1> {% else %} <h1>Goodbye</h1> {% endif %}

実行例(開発準備中) »


is

2つのオブジェクトが同じかどうかを確認します。

この演算子は、==演算子、==演算子は2つのオブジェクトの値をチェックしますが、is演算子は、2つのオブジェクトの同一性をチェックします。

ビューには、同じ値を持つ2つのオブジェクトxyがあります。

views.py:
from django.http import HttpResponse from django.template import loader def testing(request): template = loader.get_template('template.html') context = { 'x': ['Apple', 'Banana', 'Cherry'], 'y': ['Apple', 'Banana', 'Cherry'], } return HttpResponse(template.render(context, request))

2つのオブジェクトは同じ値を持っていますが、同じオブジェクトですか?

{% if x is y %} <h1>YES</h1> {% else %} <h1>NO</h1> {% endif %}

実行例(開発準備中) »

代わりに==演算子を使用して同じ例を試してみましょう。

{% if x == y %} <h1>YES</h1> {% else %} <h1>NO</h1> {% endif %}

実行例(開発準備中) »

2つのオブジェクトが同じである可能性はありますか?同じオブジェクトを指す2つのオブジェクトがある場合、is演算子はtrueに評価されます。

これを、テンプレート内に変数を作成できる{% with %}タグを使用して示します。

{% with var1=x var2=x %} {% if var1 is var2 %} <h1>YES</h1> {% else %} <h1>NO</h1> {% endif %} {% endwith %}

実行例(開発準備中) »


is not

2つのオブジェクトが同じでないかどうかを確認します。

{% if x is not y %} <h1>YES</h1> {% else %} <h1>NO</h1> {% endif %}

実行例(開発準備中) »



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細