web-dev-qa-db-ja.com

Python-複数のflaskアプリを同じクライアントマシンから実行する方法

私は1つflask以下のようにアプリケーションスクリプトを持っています:

from flask import Flask
app = Flask(__name__)

@app.route("/<string:job_id>")
def main(job_id):
    return "Welcome!. This is Flask Test Part 1"

if __name__ == "__main__":
    job_id = 1234
    app.run(Host= '0.0.0.0')

私は別のflaskアプリケーションスクリプトを以下のようにしています:

from flask import Flask
app = Flask(__name__)

@app.route("/<string:ID>")
def main(ID):
    return "Welcome!. This is Flask Test Part 2"

if __name__ == "__main__":
    ID = 5678
    app.run(Host= '0.0.0.0')

両方のスクリプトの唯一の違いは、引数名とその値です。ここで私の質問は、最初のスクリプトを実行していると仮定しています。だから私は何かを得るでしょう

* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

ブラウザで http://127.0.0.1:5000/1234 を実行すると、

「ようこそ!。これはFlaskテストパート1です。 "

このサーバーがアクティブな状態で、2番目のスクリプトを実行しています。だから再び私は

* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

しかし、ブラウザで http://127.0.0.1:5000/5678 を実行すると、

「ようこそ!。これはFlaskテストパート1です。 "

の代わりに

「ようこそ!。これはFlaskテストパート2です。 "

どこで間違えているのかわかりません。入力や変更があれば役立ちます

9
JKC

Flask開発サーバーはデフォルトでポート5000でリッスンします。したがって、Flaskアプリをポート番号なしで実行すると、5000で実行されます。

Number Flaskアプリは同じマシンでポート番号が異なる場合でも実行できます。スクリプト名がscript1.pyscript2.pyであるとします。

$ export FLASK_APP=script1.py
$ flask run --Host 0.0.0.0 --port 5000

新しいターミナルを開く

$ export FLASK_APP=script2.py
$ flask run --Host 0.0.0.0 --port 5001
10
metmirr

2番目のスクリプトを実行する前に、キャッシュメモリをクリアしましたか。ブラウザが以前のデータをポートに保存したため、古いデータが表示される場合があります。

キャッシュメモリをクリアしてから、2番目のスクリプトを実行できます。次に実行して確認します。問題が解決することを願っています

0
blank