flaskをちょっといじってみます。
IPアドレスは127.0.0.1:5000がデフォルトとのこと。
- トップページ
- トップページの下層にページ1
- トップページの下層に引数付きのページ2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
from flask import Flask #クラスを作る from flask import g # グローバルな値を入れる from flask import render_template from flask import request from flask import Response # グローバル宣言 app = Flask(__name__) # トップページを作成する @app.route('/') def toppage(): return 'this is the toppage!' # トップページ以下にpage1を作成する @app.route('/page1') def page1(): return 'this is the page1' # 引数usernameを入れる場合 # 入れない場合も考慮して2個作る @app.route('/page2') @app.route('/page2/<username>') def page2(username=None): # デフォルトにNoneを入れておく return 'user :{}'.format(username) # メイン関数(flaskの実行) def main(): app.debug = True app.run(host='127.0.0.1', port=5000) # メイン実行スクリプト if __name__ == '__main__': main() |
テンプレートを使ってみます。
同層にディレクトリtemplatesを作成して、その中に下記のようなhtmlファイルを作成します。{% ○○ %} を使うとif文が使用できたりします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>hello</title> </head> <body> {% if username %} Hello {{username}} {% else %} Hello {% endif %} </body> </html> |
pythonファイルにはrender_templateを使用して下記のようにhtmlファイルを呼び出します。
1 2 3 4 5 |
# テンプレートを使う場合 flask.render_template() @app.route('/page3') @app.route('/page3/<username>') def page3(username=None): return render_template('hello.html', username=username) |
次回は、get, post, ,put, delete をやっっていきます。