pythonanywhereを利用してFlaskでWebアプリを作ってみる
pythonを使い始めて半年。時間はかかるけど、localで意図するwebアプリを作れるようになってきた。Herokuを使ってwebアプリを立ち上げたりもしてみたが、無料サーバーとして使えそうなpythonanywhereというものを見つけた。コロナウイルスで不要不急な外出の自粛と外が雪だったので、pythonanywhereを利用してFlaskでWebアプリを作ってみることにした。
追記: urllib (pandasのread_html), requestsを使うと、無料版だとホワイトリストに含まれないサイトに対してはHTTP Error 403: Forbiddenになる。以下ホワイトリスト。
https://www.pythonanywhere.com/whitelist/
これ以外のサイトをスクレイピングするような動作を含むアプリを作る場合は有料にする必要がありそう。
詳細はこちら
https://help.pythonanywhere.com/pages/403ForbiddenError
pythonanywhereの特徴
使い方
- まずはサイト(https://www.pythonanywhere.com/)にアクセスする。
- 図のような画面が表示されるので緑色の"Start running Python online in less than a minute!"をクリック
- "Create a Beginner account"をクリック
- 必要な情報(username, email, passwords)を入力する
- こんなポップアップが出てくるので一応"Next"を押してチェックしてみる
コンソールにコマンドをタイプして結果がすぐに見られる、コンソールにはPython コンソールとBashコンソール(terminal)がある、Fileを作ったりするボタン、Web appsのボタン、Jupyter Notebooksを使うボタン、’Open Web tab’をクリックすることでWeb appsが作れる、有料サービスだとJupyter Notebooksが使える等の情報がツアー形式で説明される。後からでも確認できる(と思われる)ので読み飛ばしても大丈夫そう。
- ログインが完了するとこんな画面が出てくる。Warningが出ているが、登録したemailに送られてきた確認アドレスにアクセスすると消えた。
- ウェブアプリを作るためにまず右下の"Open Web Tab"ボタンをクリック(上の写真の赤丸)する。
- 左の青いボタンの"Add a new web app"をクリック
- appのドメインが自動で設定される。"Next"をクリック。
- どのフレームワークを使うかを選択する画面が出てくるのでFlaskを選択。"Next"をクリック。
- pythonのバージョンを選択する。とりあえず、3.8を選択。"Next"をクリック。
- こんな画面が出てくるので、"Next"をクリック。
- リンクをクリックするとアプリが見られる。最初は下のような画面が出てくる*1。
実装
- Webアプリの'/'で表示される文字を書き換えてみる。まずはflask_app.pyファイルを書き換えるために、以下の写真のうな流れでファイルにアクセスする。
ファイルを開くとコードが出てくるので、return 'XXXXXX'という部分を適当に書き換えて、ファイルを保存し、リロードすればホーム画面が書き換わる。
あとは自分の好みで色々と作り上げれば簡単にWebアプリが作れる。これは便利。
Flaskの使い方の本
英語
Pythonフレームワーク Flaskで学ぶWebアプリケーションのしくみとつくり方
- 作者:掌田津耶乃
- 発売日: 2019/08/10
- メディア: 単行本
*1:ちなみに、無料プランだと3ヶ月に一度は下のオレンジボタンをさなければアプリが消えてしまうので注意が必要。