djangoの組み込みフィルタリファレンスである、add、cut、truncatecharsなど非常に便利ですね。
本日はそんな組み込みフィルタリファレンスを複数連結する方法を紹介します。
仕組みは非常に簡単なので、仕組みを理解して使えるようになるとwebの表現がより一層柔軟になります。
・djangoの組み込みタグリファレンスを最低限理解できている
コンテンツ
この記事でのゴール
組み込みタグの動きを理解できている前提で進めますが、期待する動作としては例えば組み込みフィルタを2つ入れるということです。
Djangoのテンプレートファイル内で一般的な使い方としては、{{ value|フィルタ:”引数” }}のように使用しますが、このフィルタを2つ併用して利用することが期待する動作です。
例えば
- valueを全て大文字(upper)をした上に、文字を切り詰める(truncatechars)ようにさせたい。
- 大文字小文字が入り乱れたvalueを、一旦全て小文字に変換(lower)して、先頭を大文字で表示(capfirst)させたい。
など汎用性は多くあります。
実際の使い方
習うより慣れろってことで実際のコードを見てどのような動きをするかを見た方が早いです。
使用例1
valueを全て大文字(upper)をした上に、文字を切り詰める(truncatechars)ようにさせたい。
まずは以下の変数(value)を用意します。
1 |
value="abcdefghijklmnopqrstuvwxyz" |
これを先頭から10文字まで表示させます。
1 |
{{ 'abcdefghijklmnopqrstuvwxyz'|truncatechars:10 }} |
そうすると、「abcdefg…」と表示されます。
それでは次に全て大文字で表示したいと思います。
1 |
{{ 'abcdefghijklmnopqrstuvwxyz'|upper}} |
「ABCDEFGHIJKLMNOPQRSTUVWXYZ」となります。
さらに全て大文字かつ、先頭から10文字までを表示させたいと思います。
1 |
{{ 'abcdefghijklmnopqrstuvwxyz'|upper|escape|truncatechars:10 }} |
「ABCDEFG…」はいできました。
そうなのです。
連結するには、間に|escape|を入れる必要があるのです。
使用例2
大文字小文字が入り乱れたvalueを、一旦全て小文字に変換(lower)して、先頭を大文字で表示(capfirst)させたい。
まずは以下の変数(value)を用意します。
1 |
value="beAuTIfuL" |
そうですねぇ、大文字小文字が入り乱れていますね。
ここから綺麗に整形をしていきます。
1 |
{{ 'beAuTIfuL'|lower }} |
→ beautiful
1 |
{{ 'beAuTIfuL'|capfirst }} |
→ BeAuTIfuL
1 |
{{ 'beAuTIfuL'|lower|escape|capfirst }} |
→ Beautiful
うまくできました!!
参考
最後に
いかがでしたでしょうか。
以上が、「【django】組み込みフィルタリファレンスを複数連結する方法」の紹介記事になります。
スクールを利用して本格的に学ぶ
いかがでしたでしょうか?
10人中9人が挫折すると言われるプログラミングを、ヒロヤンも実はプログラミングスクールで学習をしてきたからで、結果、今はPythonエンジニアとして働いています。
挫折率が高いプログラミングこそお金を払ってメンターを付けて、道を見失わないように環境を構築する必要があるのではないでしょうか。
これはダイエットで自分一人では痩せられないけど、トレーナーを付けて否が応でもせざるを得ない環境を作ると一緒ですね。
ヒロヤンもプログラミング勉強開始直後はあれこれ悩みましたが、悩むよりも手っ取り早くスクールに登録した方が最短ルートで勉強できるのではないかと考え、結果挫折せずに今に至っています。
今なら無料でキャリアカウンセリングを行っているTechAcademyのようなプログラミングスクールもありますのでこれを機会に是非カウンセリングだけでも受けてみてはいかがでしょうか?
上記リンク先から無料相談ができます。
またこちら(↓)ではPython専用のプログラミングスクールをまとめ紹介しています。
コメントを残す