DjangoをRenderへデプロイ

Python

参考動画

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