Djangoのテンプレートファイルで文字列を指定の長さで切り捨てたり、特定の文字列を除去する方法

今回はDjangoのテンプレートファイルにて指定の文字列で切り捨てて、省略する方法指定した文字列を切り取る方法について紹介いたします。
文字列を指定数で切り捨てるのはかなりの頻度で使うと思いますので、しっかりと覚えておくといいと思います。

スポンサーリンク
目次

文字列の長さを省略する方法

まずは文字列の長さを省略する方法について解説いたします。
省略するには以下の truncatechars フィルターを使います。

{{ <変数> | truncatechars:制限字数 }}

-例 (title = やはりダンジョンに出会いを求めるのは間違っているのだろうか の場合)
{{ title | trunvatechars:20 }}
→やはりダンジョンに出会いを求めるのは間違…

上記のように truncatechars フィルターを使うことで、文字列を指定の数で省略することができます。
これのありがたいところは後ろに […] をつけてくれるので、わざわざ […] をつけるような処理を組まなくて良いところです。

文字列の長さを単語単位で省略する方法

次に文字列の長さを単語数ベースで省略する方法です。
これは日本語ではうまく動かないと思いますが、英語を使用する際に効果を発揮する方法です。
この方法には truncatewords を使います。

{{ <変数> | truncatewords:制限字数 }}

-例 (title = my name is john smith の場合)
{{ title | trunvatechars:4 }}
→my name is john…

恐らくですが、単語の区切りの半角スペースで個数を判断していると思いますので、日本語の場合は半角スペースをつけてあげると利用できるようにはなると思います。
まあでも [trunvatechars] の方が使い勝手がいいと思いますので、基本はそちらを使用しましょう。

文字列の一部を取り除く方法

最後に指定した文字列の一部を取り除く方法についてご紹介します。
文字列の中から空白だったり、特定の文字列を取り除きたい場合があると思います。
その場合に cut フィルタを用いることで取り除くことができます。

{{ <変数> | cut:取り除きたい文字列}}

-例 (name = 田中 太郎 の場合)
{{ name | cut:’ ‘ }}
→田中太郎

文字列の長さを省略したり、除去したりする方法についてそれぞれ解説いたしました。
trunvatechars以外は結構使用頻度が高くなると思いますので使いこなしていきましょう。

今回はここまでです。
お疲れ様でした。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

本業ではPHPを使ったWEBアプリやJavaを使用した基幹アプリを作成しております。Pythonは個人的に勉強しており、E資格を取ったりしたおかげで、業務でAIの研究とかも任されるようになりました。学習のアウトプットのために本サイトを運営しておりますが、これからPythonを学ぶという人のお役に立てればいいなと思います。わからないことや調査して記事にしてほしいことがございましたらご連絡いただけると幸いです。

コメント

コメントする

目次
閉じる