演習課題「新規レビュー機能を作ろう」
ここでは、マンガや動画などの感想を書き込むレビューログを作っています。
右の環境には、MySQLで「mylog」というデータベースと、Flaskを使用したWebアプリケーションの雛形が用意してあります。
このうちのreview.pyを修正して、レビュー記事を入力できるようにしてください。入力フォームには、new.htmlを使用します。
- 新規レビューのルート: /new
- 新規レビューのテンプレート: new.html
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、サーバーを起動し、問題文に関するページにアクセスできる状態にしてください。
#06:新規メモを作ろう
ここでは、メモを新規作成する画面を作ります。一覧画面から「/new」でアクセスしたら、メモの作成フォームを表示しましょう。
mymemo/memo_app.py@app.route('/new')
def new_post():
message = 'New memo'
return render_template('new.html', message = message)
mymemo/templates/new.html{% extends 'layout.html' %}
{% block content %}
<h1>{{ message }}</h1>
<form action="/create" method="post">
<label for="title">タイトル</label><br>
<input type="text" name="title" value="">
<p></p>
<label for="content">本文</label><br>
<textarea name="content" cols="40" rows="10"></textarea>
<p></p>
<button type="submit">保存する</button>
<a href='/'>キャンセル</a>
</form>
{% 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><a href="/new">新規メモ</a></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