演習課題「メニューの項目を追加する」
右の環境の myapp に、Flaskで「RPGの行動選択メニュー」を表示するプログラムが作成してあります。
このプログラムに「/say_hello」というパスを追加して、「action.html」を呼び出して、「Hello Flask」と表示するように修正してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点には、サーバの起動が必要です。
#09:RPGの行動選択メニューを作ろう - その2
ここでは、先ほどのチャプターの続きとして、RPGの行動選択メニューを作ります。すでに、メニューページを作ったので、今度は具体的なアクション部分を作成しましょう。
myapp/player_menu.pyfrom flask import Flask, render_template
app = Flask(__name__)
player = "勇者"
# メニューを表示
@app.route("/")
def menu():
return render_template("menu.html", player = player)
# あるく
@app.route("/walk")
def walk():
message = player + "は荒野を歩いていた。"
return render_template("action.html", player = player, message = message)
# たたかう
@app.route("/attack")
def attack():
message = player + "はモンスターと戦った。"
return render_template("action.html", player = player, message = message)
FLASK_APP=player_menu.py FLASK_ENV=development flask run
myapp/templates/menu.html{% extends "layout.html" %}
{% block content %}
<h1>{{ player }}のメニュー</h1>
<p><a href="/walk">あるく</a></p>
<p><a href="/attack">たたかう</a></p>
{% endblock %}
myapp/templates/action.html{% extends "layout.html" %}
{% block content %}
<h1>{{ player }}のアクション</h1>
<p>{{ message }}</p>
<p><a href="/">メニューに戻る</a></p>
{% endblock %}
【Python】
- Python 言語リファレンス
https://docs.python.org/ja/3/reference/index.html
- Python3系 基礎文法 - Qiita
http://qiita.com/rohinomiya/items/aab6b16d1a470871713c
【フレームワーク】
Flask
http://flask.pocoo.org/
Flask - Wikipedia
https://ja.wikipedia.org/wiki/Flask
Flaskの簡単な使い方 - Qiita
https://qiita.com/zaburo/items/5091041a5afb2a7dffc8
ウェブアプリケーションフレームワーク Flask を使ってみる - Qiita
https://qiita.com/ynakayama/items/2cc0b1d3cf1a2da612e4
【Jinja2テンプレートエンジン】
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