演習課題「jobsテーブルの特定データを表示する」
右の環境には、FlaskでMySQLからjobsテーブルのデータを表示するプログラムが作成してあります。
このファイルを修正して、以下のルートで、指定idのカラムを表示してください。データは、テンプレートのview_job.htmlで表示します。
- /job/id
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、フォームにアクセスできる状態にしてください。
演習課題「特定のジョブの詳細画面を作る」
右の環境には、FlaskでMySQLからjobsテーブルの特定ジョブの情報を表示するプログラムが作成してあります。このプログラムは、「/job/id」というルートで、以下のカラムを表示します。
テンプレートのview_job.htmlを修正して、箇条書きで表示してください。
- id
- job_name
- vitality
- strength
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、フォームにアクセスできる状態にしてください。
#07:特定のプレイヤーを表示する
ここでは、Flaskを使って、簡単なWebアプリケーションを作ります。RPGのプレイヤー一覧から、各プレイヤーの詳細情報を表示しましょう。
myapp/hello.pyfrom flask import Flask, request, render_template
import pymysql
app = Flask(__name__)
def getConnection():
return pymysql.connect(
host='localhost',
db='mydb',
user='root',
password='',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
@app.route('/')
def list_players():
connection = getConnection()
message = "Player一覧"
cursor = connection.cursor()
sql = "SELECT * FROM players LEFT JOIN jobs ON jobs.id = players.job_id;"
cursor.execute(sql)
players = cursor.fetchall()
cursor.close()
connection.close()
return render_template('index.html', message = message, players = players)
@app.route('/show/<int:id>')
def show_player(id):
connection = getConnection()
message = "Hello Player " + str(id)
cursor = connection.cursor()
sql = "SELECT * FROM players LEFT JOIN jobs ON jobs.id = players.job_id WHERE players.id = %s"
cursor.execute(sql, id)
player = cursor.fetchone()
cursor.close()
connection.close()
return render_template('profile.html', message = message, player = player)
myapp/templates/profile.html{% extends "layout.html" %}
{% block content %}
<h1>Hello SQL</h1>
<p>{{ message }}</p>
<ul>
<li>id:{{ player.id }}</li>
<li>名前:{{ player.name }}</li>
<li>職業:{{ player.job_name }}</li>
<li>レベル:{{ player.level }}</li>
</ul>
<p><a href = "/">戻る</a></p>
{% endblock %}