数学的にどうなのさ?

大学時代にちょっと長く数学を勉強した人の雑記。数学のこと(主に統計)や趣味、メモなどが多くなります

ローカルで開発したDjangoアプリをpythonanywhereで使いたかった

概要

だいぶ前からWebアプリケーション開発をdjango使ってちょこちょこ進めていたんですが,気軽に試せるwebサーバがないってことで悩んでました.

しかしpythonanywhereというサイトを発見.これならお試しでできる,下手すれば十分これでも動くんじゃないかと思い挑戦しました.

なお結構最初の段階で詰まったので,忘備録としても残しておきたい.

pythonanywhereとは

基本的にはpythonの環境を提供してくれる.無料でストレージも500MB使えるので,簡単なアプリケーションなら実行することもできると思う.

有料プランならストレージ等使えるリソースが増えるようで,Jupyterファイルも登録できたりするみたいですが,今回の目的とはズレるので省略.

djangoとは

pythonのwebアプリケーション開発用フレームワーク

公式でも日本語(一部ちょっと怪しいけど)のヘルプがあり,探してみると色々と試している人もいる.

公式ヘルプ:

docs.djangoproject.com

さらに詳細は別の記事でお願いします(ぉぃ

ローカルの開発環境

pythonanywhereの環境

やったこと

開発したものをgithubにアップロード,それをpythonanywhereからgitコマンドからゲット.

そんでこの辺りを見つつ初期設定.

ymgsapo.com

そんで作成していたwebアプリケーションも立ち上がった.

…んだけどcssの設定が反映されていない.

いろいろやったけど,djangoのadminページを確認してみたらこっちもcssが有効になってなかった.

なんじゃそりゃ,と思いつつ色々と調べること半日,以下の手順で認識してもらうことは確認できた

手順

  1. 既存のwebアプリを削除します(泣
  2. 新しくwebアプリを作成,この際pythonを3.8に
  3. pythonanywhereからコンソールを立ち上げてpython 3.8の仮想環境を作成
  4. 仮想環境にdjangoをインストール
  5. 仮想環境で「django-admin startproject mysite」でプロジェクト作成
  6. ここを参考にwebアプリが使う仮想環境,WSGI,webアプリのsetting.py、staticの設定を行う
  7. adminページにアクセス(https://username/pythonanywhere.com/admin/)にアクセスしてcssが適用されていることを確認

何が原因だったの?

正直まだその辺はよくわかっていない.

windowsで開発したものをlinux系のosに持ってきたのが悪かったかもしれないし,python 3.9がダメだったのかもしれないしよくわからない.

ただこれでローカルで動いていたものをサーバで動くようにはできそうだ.

でもあれだね,せっかくgitでファイルの行き来が楽にできるようにしたのにこれじゃあダメだわな,この辺はもうちょっと調査しましょ