演習課題「テンプレートで、リストを出力しよう」
右の環境の myapp に、Webページをテンプレートで表示するプログラムが作成してあり、enemiesリストで、敵の名前が定義してあります。
テンプレートを修正して、HTMLで以下のメッセージを表示するように修正してください。
<p>勇者はスライムと戦った</p>
<p>勇者はモンスターと戦った</p>
<p>勇者はドラゴンと戦った</p>
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点には、サーバの起動が必要です。
#06:RPGの戦闘シーンを表現しよう
ここでは、Flaskの具体例として、RPGの戦闘シーンプログラムを作ります。テンプレートで受け取ったリストを、ループで出力してみましょう。
myapp/hello.pyfrom flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def hello_world():
name = "Flask"
players = ["勇者", "戦士", "魔法使い"]
return render_template("index.html", name_value = name, players = players)
@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>
<h1>Hello {{ name_value }}</h1>
<p>Hello paiza!</p>
{% for player in players: %}
<p>{{ player + "はモンスターと戦った" }}</p>
{% endfor %}
</body>
</html>
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