演習課題「レビュー詳細画面を作成しよう」
ここでは、マンガや動画などの感想を書き込むレビューログを作っています。
右の環境には、MySQLで「mylog」というデータベースと、Flaskを使用したWebアプリケーションの雛形が用意してあります。
このうちのreview.pyとshow.htmlを修正して、レビュー詳細画面を作成してください。詳細画面には、「title」「content」を表示します。
レビュー詳細のルート: /show/<int:id>
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、サーバーを起動し、問題文に関するページにアクセスできる状態にしてください。
#04:個別にメモを表示しよう
ここでは、選択したメモを個別に表示する機能を作成します。「/show」でアクセスした時、指定したメモの詳細情報を表示しましょう。
mymemo/memo_app.py@app.route('/show/<int:id>')
def show_post(id):
message = 'Your memo ' + str(id)
post = Post.query.get(id)
return render_template('show.html', message = message, post = post)
mymemo/templates/show.html{% extends 'layout.html' %}
{% block content %}
<h1>{{ message }}</h1>
<p>タイトル:{{post.title}}</p>
<p>{{post.content}}</p>
<p><a href='/'>一覧に戻る</a> | 編集 | 削除</p>
{% endblock %}
個別メモを呼び出すリンクを追加
mymemo/templates/list.html{% extends 'layout.html' %}
{% block content %}
<h1>{{ message }}</h1>
<table>
<tr><th>ID</th><th>タイトル</th></tr>
{% for post in posts %}
<tr>
<td>{{ post.id }}</td>
<td><a href="show/{{ post.id }}">{{ post.title }}</a></td>
</tr>
{% endfor %}
</table>
<p>新規メモ</p>
{% endblock %}
- Python 言語リファレンス
https://docs.python.org/ja/3/reference/index.html
- Python3系 基礎文法 - Qiita
http://qiita.com/rohinomiya/items/aab6b16d1a470871713c
- Jinja2|Pythonテンプレートエンジン - Qiita
https://qiita.com/yasumodev/items/ae11047e2c8694867892
- SQLAlchemy入門 SQLAlchemyとは - Python学習講座
http://www.python.ambitious-engineer.com/archives/1469