見出し画像

{% set %}で変数を設定する

今日は、『つくってマスターPython』の6-3 “Jinja2テンプレートの活用”で学んだことをアウトプットします。

Jinja2では、{{}}を使って変数の値を出力できます。これは通常、スクリプト側であらかじめ値を用意しておくものですが、実はテンプレート内で変数を定義し利用することもできます。

{% set 変数名= 値  %}

こうして作成された変数は、この記述以降で利用できます。テンプレート内でデータを作成し、それをテーブルとして出力させていきます。

{% extends "layout.html" %}
{% set newdata =[
 {'id':101, 'name':'たろう', 'mail':'taro@yamada'},
 {'id':102, 'name':'はなこ', 'mail':'hanako@flower'},
 {'id':103, 'name':'さちこ', 'mail':'sachiko@happy'}
 ] %}
{% block content %}
<table>
 <tr>
   <th>ID</th>
   <th>NAME</th>
   <th>MAIL</th>
 </tr>
 {% for item in newdata %}
 <tr>
   <td>{{item.id}}</td>
   <td>{{item.name}}</td>
   <td>{{item.mail}}</td>
 </tr>
 {% endfor %}
</table>
{% endblock %}

ここでは冒頭で変数newdataを用意しています。

{% set newdata=[ {・・・・・}, {・・・・・}, {・・・・・} ]

オブジェクトの配列としてnewdataに値を代入しています。{% for in %}では、このnewdataから順にオブジェクトを取り出し、その中の値を出力しています。

サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪