文字列にフィルターを適用する
フィルターを適用するには、変数名のあとに | (パイプ文字)を挟んでフィルター名を指定します。
<p>{{ "hello, world" | upper }}</p>
上記の例では「 hello, world 」を大文字に変換します。
フィルターを適用するには、変数名のあとに | (パイプ文字)を挟んでフィルター名を指定します。
<p>{{ "hello, world" | upper }}</p>
上記の例では「 hello, world 」を大文字に変換します。
以下の場合は、「 {{ 2 | multiplication(3) }} 」の 2 が multiplication 関数の引数 number に渡される値です。
また、変数 i に 3 が渡されます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>template filter</h1>
<p>{{ 2 | multiplication(3) }}</p>
</body>
</html>
from flask import Flask, render_template
app = Flask(__name__)
@app.template_filter("multiplication")
def multiplication(number, i):
return number * i
@app.route('/', methods=["GET"])
def index():
return render_template('index.html')
Blueprint でファイルを分けます。
from flask import Flask, render_template
from .app_module.add_module import bp
app = Flask(__name__)
app.register_blueprint(bp)
@app.route('/', methods=["GET"])
def index():
return render_template('index.html')
if __name__ == "__main__":
app.run()
from flask import Blueprint
bp = Blueprint('add_module', __name__)
@bp.app_template_filter('multi')
def multiplication(number, i):
return number * i
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>template filter</h1>
<p>{{ 2 | multi(3) }}</p>
</body>
</html>
length | リストの要素数を得る |
join | リストを区切り文字をつけて結合する |
reverse | リストを逆順にする |
abs | 絶対値にする |
capitalize | 最初の1文字目は大文字にし2文字目以降は小文字に変換する |
default | 変数が存在しない場合に、初期値を入れる |
dictsort | 辞書型を並び替える |
escape | 文字列をエスケープ文字に変換する |
first | リストの一番最初の値を取得する |
float | 浮動小数点数の指定した桁まで表示する |
format | 文字列をprintのように特定のフォーマットに入れて表示する |
groupby | 特定の値を集計する |
int | 数値型に変換して表示する |
join | リストを区切り文字をつけて1つのテキストにする |
last | リストの最後の要素を取得する |
list | 値をリストに変換する |
lower | 文字列を小文字に変換する |
max | リストなどのシーケンス内の最大値を返す |
min | リストなどのシーケンス内の最小値を返す |
random | リストなどのシーケンスの中からランダムに取り出して返す |
replace | 文字列の特定の文字を別の文字に変換する |
reverse | リストなどを逆順にする |
round | 浮動小数点数を四捨五入する |
select | リストなどのシーケンスの中の一部だけとりだす。 |
slice | 文字列を分割する |
sort | リストなどのシーケンスを昇順に並び替える |
sum | リストなどの合計値を計算して表示する |
tojson | json形式に変換する |
trim | 文字列の端から指定の文字を削除する。指定しなければ文字列の端の空白を削除する。 |
upper | 文字列を大文字にする |
urlencode | 文字列をURLエンコードする |
wordcount | 文字列の文字数をカウントする |