見出し画像

アクセスするURLにパラメーターを追加して、サーバーに渡す

今日は、『つくってマスターPython』の6-2 “FlaskでWebアプリケーション” で学んだことのアウトプットです。

ルートの設定では、パスに特定のパラメーターを追加することもできます。これを利用すると、アクセスするURLに必要な値を追加してサーバーに渡すことができるようになります。
パラメーターは、ルーティングの関数を以下のように記述して使います。
@app.route(“・・・・・パス・・・・・/<パラメーター>”)
def 関数 (  引数  )
・・・・・引数を使って処理・・・・・
ルートに指定するパスのテキストには、<>記号を付けてパラメーターを埋め込むことができます。このように埋め込められたパラメーターの値は、ルートの処理に用意した関数の引数にそのまま渡されます。この値を使って必要な処理を定義していくのです。

パラメーターで名前を渡す

/index/名前 という形でアクセスすることで、名前をサーバーに送り処理できるようにします。

from flask import Flask

app = Flask("helloapp")

@app.route("/")
@app.route("/index/<myname>")
def hello(myname="noname"):
   return \
'''
<html>
<head><title>Hello</title></head>
<body>
<h1>Welcome.</h1>
<p>Hello, {name}!.</p>
</body>
</html>
'''.format(name=myname)

if __name__ == '__main__':
   app.debug = True
   app.run(host='127.0.0.1')

スクリーンショット 2021-03-11 203852

ここでは、簡単なHTMLのコードをテキストとして用意し、そこに{name}という値を用意しています。関数ではmynameという引数が用意されており、これに@app.route(“/index/<myname>”)の<myname>の部分に当てはまるテキストが格納されています。この値を利用して、formatで{name}部分にテキストをはめ込み表示しています。

formatでテキストをはめ込む処理は、以前にも紹介しましたね。


サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪