DjangoをRenderへデプロイ
参考動画
【https://zenn.dev/hathle/books/django-render-book/viewer/00_first】
【https://www.youtube.com/watch?v=wwYMdRrqHwc】
動画どおりにやるとRenderのShellで失敗する部分
⑤BluePrintsが見つからない
動画投稿時とサイトのレイアウトが変わっているため、BluePrintsがどこにあるのかわかりませんでした
普通にデプロイしようとすると、BluePrintsを経由しないでDeployするように求められるので焦りました
【https://dashboard.render.com/blueprints】
⑥Environment設定が見つからない
ダッシュボード【https://dashboard.render.com/】のdjango_renderの方をクリックすると見つかります
「django_render_db」の方ではありません
①ERROR:Could not find a version that satisfies the requirement django==5.0.4
Renderの環境では、デフォルトでPython3.7が使用されます
しかしDjango5.0以降はPython3.10以上がないと動きません
そのため、RenderのEnvironment設定で、Pythonのバージョンを3.8.10 -> 3.11.0に変えてください
②ModuleNotFoundError: No module named ‘mysite’
render.yamlに「startCommand: ‘gunicorn mysite.wsgi:application’」という記述があります
これはウェブサーバーが起動したときにmysiteディレクトリのwsgi.pyを実行してくださいという意味です
あなたのwsgi.pyがdjangoProjectというディレクトリ内にあれば、mysite -> djangoProject に書き換える必要があります
③ModuleNotFoundError: No Module named ‘django_cleanup’
requirements.txtに「django-cleanup」という記述がない場合、Render側ではdjango-cleanupをインストールしないためエラーが発生します
追記したあと、再度Commit・Pushし、Renderにデプロイしてください
④ModuleNotFoundError: No Module named ‘Pillow’
今回は「pip uninstall Pillow」してから、いくつかのファイルのimage部分のコードを削除して対応しました。有料プランにしないと永続ストレージが使えないので…
作ったもの
【https://django-render-2oai.onrender.com/】
感想
・大変だった。GitHubへのPushも初めてで半日かかったし、Renderへのデプロイも動画どおりにやると上手くいかない部分があるので大変だった
・Renderにはストレージがないので(一時的ストレージはあるけどサーバーが停止するたびに中身が削除されてしまう)、有料プランにする必要がありました。ストレージだけは外部サービスを使ったほうが良さそう。
BACK