Nunjucksを使用した変数の存在チェックと条件分岐


  1. {% if variable is defined %} ... {% endif %} この方法では、is definedキーワードを使用して変数が定義されているかどうかをチェックします。以下は使用例です。

    {% if name is defined %}
     <p>Hello, {{ name }}!</p>
    {% else %}
     <p>Hello, guest!</p>
    {% endif %}

    上記の例では、nameという変数が定義されている場合はその値を表示し、定義されていない場合は「Hello, guest!」と表示します。

  2. {% if variable %} ... {% endif %} この方法では、変数が存在するかどうかを直接チェックします。変数が undefinednullfalse0、または空の文字列でない場合に条件が真となります。以下は使用例です。

    {% if user %}
     <p>Welcome, {{ user }}!</p>
    {% else %}
     <p>Please log in to continue.</p>
    {% endif %}

    上記の例では、userという変数が存在する場合はその値を表示し、存在しない場合は「Please log in to continue.」と表示します。

  3. {{ variable or default_value }} この方法では、変数が存在しない場合にデフォルト値を表示することができます。以下は使用例です。

    <p>Hello, {{ name or 'guest' }}!</p>

    上記の例では、nameという変数が存在する場合はその値を表示し、存在しない場合は「guest」と表示します。