今回はフィルター関数を使ってみます。
指定の仕方は以下2つ
(1)特定項目にフィルタをかけるばあい
項目の後にパーティカルライン(|)をつける
{{項目|filter名}}
(2)範囲指定したすべてにかけるばあい
{% filter filter名 %}
<p>aaaaaaa</p>
{% endfilter %}
試しにやってみましょう
1.norizo_project4/urls.py
今回は~/norizo_app4/fil/としたいので
pathの'norizo_app4'を'norizo_app4/と修正しています。
2.norizo_app4/urls.py
下記の部分を追加しています
3.vews.pyを修正する。
関数filを追加しました。
ここで注意したいのが、日付形式の項目です。
関数datetimeをインポートしています。単純設定ではなく、
「datetime.data(9999,99,99)」の形式で設定します。
こうしないと後述するTemplateのdateフィルターで日付形式に表示されない
ので要注意です。
4.fil.htmlを作成します。
・名前→capfirstを使用し1文字目だけ大文字に。ちなみにlist型の項目では
うまくいきませんでした。
・誕生日→dateを使用し年4桁,英語3文字表記,ゼロサプレスの数値表示
としました
・楽器→upperを使用し、大文字にしました。
・link→urlizeを使用し、指定先へ飛べるようにしました。
以下にfilterして可能ない機能の一覧についてご参考でリンクを張っておきました。
https://office54.net/python/django/template-filter-summary#section3-1
dateの指定の仕方も参考にリンク張っておきました。
https://dot-blog.jp/news/django-template-date/
5.起動して結果を確認します。
上手くいきました