カテゴリ:Django 投稿:2022年6月7日22:58、更新:2022年6月27日1:28
・記事の概要
Djangoで作成したアプリでローカルでは正常であるが、本番環境でだけ画像アップロード系処理がエラーとなる場合の対応を記載します。
・この記事でできるようになること
本番環境でも画像アップロード系処理が正常に動作できるようになります。
settings.py でdebug=Falseにしたことで発生している場合、
プロジェクトディレクトリ内の「urls.py」で以下のような記載がある方はおおよそこの記事の事象かと思います。
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
・実際の手順
①mediaディレクトリの作成
以下のようにmediaディレクトリを作成してください。
sudo mkdir /var/www/media
②settings.pyへの追記
以下をsetting.pyに追記(変更)しましょう。
MEDIA_URL = '/media/'
MEDIA_ROOT = '/var/www/media'
③confへの追記
「/etc/nginx/conf.d」配下のプロジェクトconf内に以下を追記しましょう。
server {
…
#追記部分
location /media{
alias /var/www/media;
}
…
}
③再起動
以下でnginxを再起動し、その後にdjangoも再起動をかけます。
sudo systemctl restart nginx
④確認
本番サーバ上のアプリで画像系処理を確認してみてください。
・まとめ
いかがだったでしょうか。
環境差異のエラーが出てしまうと、なかなか追いにくいですがこちらでもし解消すれば幸いです。
コメント一覧
コメント投稿ページへ