【エラー解決】DjangoのServer Error 500
2021.03.30
※本サイトにはプロモーション・広告が含まれています。
(最終更新月:2021年10月)
当記事では、本番環境でのDjangoアプリで、
- Server Error 500と出てしまった場合の解決策
について解説します
多少手動な感じがしますがその分ある程度のエラーに対応できる策かと思います
読めばこんなことかとなるかもしれませんが是非目を通しておいて頂ければ今後の役に立つことと思います!
✔Webアプリの公開にはVPSがおすすめ
DjangoなどのWebアプリは、レンタルサーバーでの公開ができません。
自由度の高いVPSを使うのです。
VPS11社を比較し、おすすめをご紹介しています。
Webアプリの公開には、Ubuntuが搭載できるVPSを選びましょう。
Ubuntu環境が用意できたら、こちらのチュートリアルで公開方法を無料公開中。
筆者プロフィール
【現職】プロダクトマネージャー
【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作
「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。
【当ブログで紹介しているサイト】
当サイトチュートリアルで作成したデモ版日報アプリ
Django × Reactで開発したツール系Webアプリ
✔人に見せても恥ずかしくないコードを書こう
「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。
- 見るからにきれいなコードの書き方
- コードの分割方法
- 変数や関数の命名規則
エンジニアのスタンダートとすべき基準を一から解説しています。
何回も読むのに値する本なので、ぜひ手にとって読んでみてください。
¥2,640
(2024/12/03 13:55:30時点 Amazon調べ-詳細)
adminページでモデルクラスを確認
adminページへのアクセスはできることが多いと思います
まずはadminページへ入りましょう
adminページすら見れないという方は、ここでの解説は役に立ちません
次章の「シェルへアクセス」で中身を見てみることをオススメします
左側に出てくるモデルへ一つずつクリック
問題なければリストビュー、ディテールビューと続いて見れるはず
続けていると、Server Errorが出てしまうモデルがないでしょうか?
出てきた場合はそれが問題のモデルであることを認識できましたね!
シェルでモデルクラスへアクセスする
$ python manage.py shell
でシェルへアクセスします
シェル内でモデルクラスをインポートし、
qs = <モデル名>.objects.all()
などとしてクエリセットを取得しましょう
エラーが何も出なければ、そのままqsを使ってprintやfor loopで値を取り出してみましょう
エラーが出てくるとPythonのエラ〜メッセージも合わせて出てきますので詳細が分かるはず!