• djangoで3項演算子を使う方法【yesnoフィルターが便利です】

    djangoの勉強を進めていく中で、3項演算子をテンプレートの中で使いたい場面があるかもしれません。

    djangoのテンプレートはpythonと関係がありませんので、どうすれば3項演算子を使うことができるのか疑問に思うこともあるかもしれません。

    そこで今回は、3項演算子の使い方を分かりやすく解説していきます。

    3項演算子を使うには、yesnoフィルターを使います

    3項演算子を使うためには、yesnoフィルターを使います。

    具体的なコードをみながら、理解を深めていきましょう。

    yesnoフィルターの具体的なコード

    早速yesnoフィルターのコードをみていきます。

    こちらのコードをご覧ください。

    コード
    

    {{ value | yesno: "Trueの場合, Falseの場合, Noneの場合" }}

    一つずつみていきましょう。

    まずはvalue | yesnoです。

    これを理解するためには、まず「|」について理解する必要があります。

    「|」はdjangoのテンプレートではフィルターを呼ばれています。

    フィルターは、あるデータを受け取ったら、そのデータをフィルターを通して違うものに変えてくれます。

    例えば、日付 | 曜日 というコードがあったとしましょう。

    これは、日付のデータ(xx年x月x日)というデータを曜日(x曜日)に変えます。

    このように、何か前のデータをフィルターを通して違うデータに変えるという動きをするのです。

    次に、" "で囲まれた部分です。

    これは、valueがTrue, False, Noneの場合で返す値を決めています。

    例えば、valueがTrueであれば「Trueの場合」がhtmlファイル上に表示され、valueがFalseであれば「Falseの場合」がhtmlファイル上に表示され、valueがNoneであれば「None」の場合がhtmlファイルに表示されます。

    3項演算子では、Trueの場合とFalseの場合しか判定できなかったのですが、djangoではさらにNoneの場合の動きも操作することができます。

    なお、True、False、Noneの違いについて理解したい方は、True・False・Noneという記事を参考にしてください。

    ~Django無料講義~のご案内

    Code for Djangoが、4時間超の無料Django講義をはじめました

    •  ・本を出版したCode for Djangoの
       製作者が作ったサイトです。
    •  ・Code for Djangoの内容も、
       動画で詳しく解説しています。
    •  ・動画は順次ふやしていきますので、
       ただで学び続けることが可能です。
    •  ・Djangoの効率的なスキルアップに、
       是非お役立て下さい。