演習課題「GETメソッドの対応」
右の環境には、GETメソッドで送信するフォームプログラムがFlaskで作成してありますが、送信するボタンをクリックするとエラーになってしまいます。正常に投稿できるよう、プログラムを修正してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、投稿フォームにアクセスできる状態にしてください。
#04:GETメソッドでフォームを作ろう
ここでは、先ほどのフォームを利用して、フォームの動作を確認します。そして、フォームをGETメソッドで呼び出して、どのようにフォームとコードがデータをやり取りするか、さらに理解しましょう。
myapp/form.pyfrom flask import Flask, request, render_template
app = Flask(__name__)
@app.route("/")
def show():
message = "Hello World"
return render_template("form.html", message = message)
@app.route("/result", methods=["GET", "POST"])
def result():
message = "This is paiza"
if request.method == "POST":
article = request.form["article"]
name = request.form["name"]
else:
article = request.args.get("article")
name = request.args.get("name")
return render_template("form.html", message = message, article = article, name = name)
myapp/templates/form.html{% extends "layout.html" %}
{% block content %}
<h1>フォーム</h1>
<p>{{ message }}</p>
<form action="/result" method="get">
<label for="article">投稿</label>
<input type="text" name="article">
<p></p>
<label for="name">名前</label>
<input type="text" name="name">
<button type="submit">送信する</button>
</form>
<p>{{ article }} {{ name }}</p>
{% endblock %}
【フレームワーク】
Flaskの簡単な使い方 - Qiita
https://qiita.com/zaburo/items/5091041a5afb2a7dffc8
ウェブアプリケーションフレームワーク Flask を使ってみる - Qiita
https://qiita.com/ynakayama/items/2cc0b1d3cf1a2da612e4
【テンプレートエンジン】
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