演習課題「フォームで、RPGの戦闘シーンを作る」
右の環境には、FlaskでRPGの戦闘シーンのプログラムが作成してありますが、プルダウンリストに敵の名前が1つしか表示されません。以下の敵の名前を表示するように、プログラムを修正してください。
 スライム, モンスター, ドラゴン
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、戦闘フォームにアクセスできる状態にしてください。
#05:フォームでRPGの戦闘シーンを作ろう
ここでは、Flaskによるフォームの具体例として、RPGの戦闘シーンを作ります。先ほどのチャプターで作ったフォームをベースにして、ドロップダウンメニューでプレイヤーを選択できるようにしましょう。
myapp/battle.pyfrom flask import Flask, request, render_template
app = Flask(__name__)
players = ["勇者", "戦士", "魔法使い", "忍者"]
@app.route("/")
def show():
    message = "あらたなモンスターがあらわれた!"
    return render_template("battle.html", message = message, players = players)
@app.route("/result", methods=["POST"])
def result():
    name = request.form["name"]
    message = name + "はモンスターと戦った!"
    return render_template("battle.html", message = message, players = players)
myapp/templates/battle.html{% extends "layout.html" %}
{% block content %}
<h1>RPGの戦闘フォーム</h1>
<p>{{ message }}</p>
<form action="/result" method="post">
    <select name="name">
        {% for player in players %}
            <option value="{{ player }}">{{ player }}</option>
        {% endfor %}
    </select>
    <p></p>
    <button type="submit">たたかう</button>
</form>
<form action="/" method="get">
    <button type="submit">にげる!</button>
</form>
{% endblock %}
【フレームワーク】
Flaskの簡単な使い方 - Qiita
https://qiita.com/zaburo/items/5091041a5afb2a7dffc8
ウェブアプリケーションフレームワーク Flask を使ってみる - Qiita
https://qiita.com/ynakayama/items/2cc0b1d3cf1a2da612e4
[Python] Flask 入門 - ゾンビでもわかるPythonプログラミング
http://python.zombie-hunting-club.com/entry/2017/11/03/223503
【テンプレートエンジン】
Welcome to Jinja2 — Jinja2 Documentation (2.10)
http://jinja.pocoo.org/docs/2.10/
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