ヘイ、ガイズ! Flaskシリーズのもう一つのチュートリアルへようこそ。
今回は、Flask の Web フレームワークのテンプレートについて、その使い方を学びます。
テンプレートとは?
テンプレートとは、Webサイトのコンテンツを表示するためのHTML、CSS、JSのファイルです。
テンプレートは、Webページを美化し、それらを提示できるようにします。
したがって、すべての Web サイトはフロントエンド(テンプレートで構成)とバックエンド(Flask フレームワークのコードとアプリケーション)で構成されています。
Web Templating System
Webテンプレートシステムは、テンプレートエンジン、データソース、テンプレートプロセッサーから構成される。
また、多くの場合、ウェブサイトはDBのデータをそのウェブページに表示します。
Web Templating Systemはこれを行う。
ファイル/DBのデータとHTML(テンプレート言語を使用)を組み合わせて、ウェブページに表示するのです。
ウェブテンプレートシステムの具体的な動作は、以下の通りです。
- DBから必要なデータを抽出する
- テンプレートエンジンでデータをHTMLファイル(テンプレート言語使用)に結合します。
- テンプレートプロセッサはそれを処理し、結果としてテンプレートファイルを出力します。
FlaskはデフォルトのテンプレートエンジンとしてJinja2を使っています。
次のセクションでさらに詳しく見ていきます。
Jinga Templating Language (JTL) (ジンガ テンプレーティング ランゲージ)
テンプレートエンジンは、HTML ファイルにデータを追加するためのテンプレート言語を提供します。
Jinja2 は Django の Templates をモデルにした、python 用のモダンでデザイナーフレンドリーなテンプレート言語です。
これから、このテンプレート言語の構文を見ていきます。
4つのタイプで構成されています。
| タイプ|シンタックス
| — | — |
| 1) ステートメントタグ|{% %}: {% if….else %} です。
– {% endif %}: {% endif %}で終わる。
| 2) 変数タグ|{{ }}: {{変数}} |
| 3) コメント用タグ|{#……#}: {#コメント……パラ #}。
Jinja2 Templating Language## アプリケーションにテンプレートを追加する
Flask はアプリケーションファイルの横にある templates というフォルダに格納されているテンプレートを探します。
次のセクションに進む前に、そのフォルダを作成してください。
render_template( '<template_file_name.html>' , variables = <values> )
|
from flask import Flask, render_template
app = Flask(__name__)
@app .route( '/blogs/<int:id>' )
def blogs( id ):
return render_template( 'blog.html' , number = id )
app.run(host = 'localhost' , port = 5000 )
|
1. Render_template() 関数
Flask アプリケーションは、render_template() 関数を使用してテンプレートをレンダリングします。
構文は
< html >
< body >
< h1 >This is a Blog Webpage</ h1 >
< h2 >Blog {{number}}</ h1 >
< h3 >Test Blog</ h1 >
</ body >
</ html >
|
2. Flaskアプリのコーディング
flask main ファイルにコードを追加します (flask 入門を参照)。
テンプレート blog.html を作成します。
jinja2 言語の変数タグを使用していることに注意してください。
この記事もチェック:Flaskのライブラリflask-wtfの使い方|簡単にフォームを作成するよ
3. Flaskアプリケーションの実行
サーバーを起動し、以下のURLを叩きます。
出来上がり
まとめ
今回の記事は以上です。
今回は Flask Templates についてでした。
よりよく理解するために、上記の例を自分でやってみましょう。