1. Development Mode
(1) ファイル名: test.py
# coding: utf-8
from flask import Flask
app = Flask(__name__)
@app.route('/')
@app.route('/home')
def home():
return "<h1>Home Page</h1>"
@app.route('/about')
def about():
return "<h1>About Page</h1>"
if __name__ == '__main__':
app.run()
from flask import Flask
app = Flask(__name__)
@app.route('/')
@app.route('/home')
def home():
return "<h1>Home Page</h1>"
@app.route('/about')
def about():
return "<h1>About Page</h1>"
if __name__ == '__main__':
app.run()
(2)実行(cmd)
>> set FLASK_APP = ファイル名(○○○.py)
>> flask run
(mac, linuxはsetの代わりにexport)
**注意:
set FLASK_APP(スペース)=(スペース) test01.pyのように(スペース)を入れると、
Error: Could not locate a Flask application. というエラーになる。
スペースを入れないことが大事。
set FLASK_APP=test01.py
これだと、Production環境で、pyファイルを変更しても、ローカル・サーバーからログオフ(ctl+C)
しないと変更が反映されない。
そこで。
>> set FLASK_APP = ファイル名(○○○.py)
>> set FLASK_DEBUG = 1 // 環境変数の設定を追加。
>> flask run
とする。 すると、以下のメッセージが表示され、いちいちログ・オフ、ログ・インをしなくても
変更が反映されるようになる。
* Serving Flask app "t
* Environment: product
WARNING: Do not use
Use a production WSG
* Debug mode: on
* Restarting with stat
* Debugger is active!
コマンド・モード(window: setコマンド、mac:exportコマンド)でpyアプリを立ち上げず、
app.run()を利用する場合、app.runにdebug=True, 又は、 debug=1 の引数を与えることで、
debug mode(Werkzeug Debugger)でアプリを起動することが出来る。
if __name__ == '__main__':
app.run(debug=True)
とすると、debug modeになる。
この場合、ファイルをクリックするだけで、アプリが起動できるので便利。
尚、debug modeであれば、python アプリの変更は、リロードで自動更新できるが、bottleやflaskなどのフレームワークを利用し、htmlと連携させている場合、debugモードでも、htmlの変更は、pyアプリをリロードしただけでは、自動反映されない。
0 件のコメント:
コメントを投稿