演習課題「テンプレートでデータを渡そう」
右の環境の myapp に、FlaskでWebページをテンプレートで表示するプログラムが作成してあります。
テンプレートは、以下のようにしてメッセージを表示します。enemy変数をテンプレートに渡すよう、player.pyを修正してください。
myapp/templates/index.html に変更を加える方法は、利用しないでください。
勇者はスライムと戦った
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点には、サーバの起動が必要です。
演習課題「テンプレートでデータを受け取ろう」
右の環境の myapp に、FlaskでWebページをテンプレートで表示するプログラムが作成してあります。
テンプレートは、以下のようにしてメッセージを表示します。enemy変数を受け取って以下のメッセージを表示するよう、テンプレートを修正してください。
myapp/player.py に変更を加える方法は、利用しないでください。
勇者はスライムと戦った
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点には、サーバの起動が必要です。
#05:テンプレートの書き方を理解しよう
ここでは、Flaskで、テンプレートの書き方をいろいろと試します。そのために、先ほどのチャプターに続いて、Jinja2のテンプレートを使います。
myapp/hello.pyfrom flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def hello_world():
name = "Flask"
return render_template("index.html", name_value = name)
@app.route("/about")
def about():
return render_template("index.html")
$ FLASK_APP=hello.py FLASK_ENV=development flask run
myapp/templates/index.html<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Flask - paiza</title>
<style>body {padding: 10px;}</style>
</head>
<body>
{% if name_value %}
<h1>Hello {{ name_value }}</h1>
{% else %}
<p>Hello paiza!</p>
{% endif %}
</body>
</html>
テンプレートでは、{%...%}で囲むことで、Pythonのコードを記述できる。
この時、インデントは無視されるので、if文に{% endif %}が必要になる。
Welcome to Jinja2 — Jinja2 Documentation (2.10)
http://jinja.pocoo.org/docs/2.10/
Templating With Jinja2 in Flask: Essentials
https://code.tutsplus.com/tutorials/templating-with-jinja2-in-flask-essentials--cms-25571
Jinja2|Pythonテンプレートエンジン - Qiita
https://qiita.com/yasumodev/items/ae11047e2c8694867892
Jinja2の基本的な使い方 - Qiita
https://qiita.com/RyoMa_0923/items/528303906a55f9b568e0
Jinja2の使い方がわかるとFlaskを用いた開発がよりスマートになる - Qiita
https://qiita.com/ryo2851/items/7ae5de21307d101b4759