Flask/GET,POSTデータ

Python
from flask import Flask, render_template, request

app = Flask(__name__)


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/sample', methods=['GET', 'POST'])
def test():
    if request.method == 'GET':
        res = request.args.get('get_value')
    elif request.method == 'POST':
        res = request.form['post_value']

    return res
html
form action="/sample" method="get">
  	input type="text" name="get_value" />
  	input type="submit" value="送信" />
/form>

form action="/sample" method="post">
	input type="text" name="post_value" />
  	input type="submit" value="送信" />
/form>
	
#post取得
#form.py
from 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=["POST"])
def result():
    message = "form値取得"
    article = request.form["article"]
    name = request.form["name"]
    return render_template("form.html", message = message, article = article, name = name)
 
if __name__ == '__main__':
    app.debug = True
    app.run(host='0.0.0.0', port=80)
    
#layout.html
body>
    p>共通テンプレート/p>
    {% block content %}
    {% endblock %}
/body>

#form.html
{% extends "layout.html" %}
{% block content %}
h1>フォーム/h1>
p>{{ message }}/p>
form action="/result" method="post">
    label for="article">投稿/label>
    input type="text" name="article">
    label for="name">名前/label>
    input type="text" name="name">
    button type="submit">送信する/button>
/form>
p>{{ article }} {{ name }}/p>
{% endblock %}


#get取得
#form.py
from 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)
 
if __name__ == '__main__':
    app.debug = True
    app.run(host='0.0.0.0', port=80)

#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">
    label for="name">名前/label>
    input type="text" name="name">
    button type="submit">送信する/button>
/form>
p>{{ article }} {{ name }}/p>
{% endblock %}



#battle.py
from flask import Flask, request, render_template
app = Flask(__name__)

players = ["勇者", "戦士", "魔法使い", "忍者"]

@app.route("/")
def show():
    message = "あらたなモンスターがあらわれた!"
    return render_template("battle.html", message = message, players = players)

@app.route("/result", methods=["POST"])
def result():
    name = request.form["name"]
    message = name + "はモンスターと戦った!"
    return render_template("battle.html", message = message, players = players)
    
#battle.html
{% extends "layout.html" %}
{% block content %}
h1>RPGの戦闘フォーム/h1>
p>{{ message }}/p>
form action="/result" method="post">
    select name="name">
        {% for player in players %}
            option value="{{ player }}">{{ player }}/option>
        {% endfor %}
    /select>
  button type="submit">たたかう/button>
/form>

form action="/" method="get">
    input type="submit" value="にげる!">
/form>
{% endblock %}