とりあえずここまでlocalhostでのテストであったが、いよいよサーバに上げてネットワーク経由で動作させてみる。
manage.pyの記述をちょっと変えるだけなんだけど。
from flask_script import Shell, Server from flask_migrate import Migrate, MigrateCommand from app import app, db, manager from app.models import User, Role import app.views.home migrate = Migrate(app, db) def make_shell_context(): return dict(app=app, db=db, User=User, Role=Role) manager.add_command("shell", Shell(make_context=make_shell_context)) manager.add_command("db", MigrateCommand) manager.add_command("runserver", Server(host="192.168.1.1", port=5000)) if __name__ == '__main__': manager.run()
flask_scriptからServerをインポートし、
manager.add_command("runserver", Server(host="192.168.1.1", port=5000))
の1行を追加するだけ。
これで192.168.1.1:5000に外からアクセスできるようになる。(ポート5000は開けておく必要がある)
ユーザー認証とかかかってないので完全オープンなスペースに置くのは危険だが、ファイアウォール内でVPN経由のみのアクセスを許容しているようなサーバなら、問題はないのかもしれない。