はじめに
機械学習のアルゴリズムを利用したウェブアプリを開発することを目指し、pythonで実装されたウェブアプリ開発用のフレームワークであるDjangoを利用することとしました。無料で使えるレンタルサーバーとしてpythonanywhere上でアプリを構築しようと思っています。実装時に見舞われたエラーを記録として残しますので、同じ悩みを抱えている方がおりましたらご参照いただければと思います。
Django関連
django.db.utils.OperationalError: (1044, “Access denied for user ‘xx’@’%’ to database ‘xx’”)
私はMySQLのデータベースを構築した際に上記のエラーが発生しました。データベースのユーザー名やパスワード情報に誤りがあるときに発生します。以下のとおり正しく入力すれば解決しました。pythonanywhereとdatabaseのアカウント情報を混在せずに入力することが大切です。
• ‘ENGINE’: ‘django.db.backends.mysql’
• ‘NAME’: ‘[pythonanywhere_username]$[database_name]’
• ‘USER’: ‘[pythonanywhere_username]’
• ‘PASSWORD’:'[database_password’]
• ‘HOST’:'[phthonanywhere_username].mysql.pythonanywhere-services.com’
• ‘PORT’:’3306′
ProgrammingError at /xx/ (1146, “Table’xx&xx.xx’ doesn’t exist”)
python3 manage.py migrate の実行前に、以下のコードを実行すると解決しました。
python3 manage.py makemigrations [application_name]
Error: That port is already in use.
python3 manage.py runserverを実行したところ上記のエラーが出現しました。8000番ポートが埋まっているとのことなので、以下のとおり別のポートを指定することで解決しました。
python3 manage.py runserver 8001
Invalid HTTP_HOST
サーバを立ち上げてページに作成したurlに移動した際に、ブラウザに上記の表示がでました。settings.pyのALLOWED_HOSTにワイルドカード(*)を入力することで接続に成功しました。
settings.py
~
ALLOWED_HOST = ['*']
~
Pythonanywhere関連
File “manage.py”, line xx ) from exc ^ SyntaxError: invalid syntax
立ち上げたbashに、デフォルトでpython2.7がインストールされている可能性があります。
Consoles > Start a new console: から、Python 3.8などを選択して起動するとよいでしょう。
コメント