WEB屋のための技術ブログ

WEBの知識や勉強法、WEBアプリ、個人開発について

CLOSE

作成したアプリ

止息

息を止めて活力を上げるアプリ。

買ってよかったー

買ってよかった物をシェアするアプリ

WEB初心者掲示板

WEB初心者のための掲示板です。

みんなの宝箱

みんなの宝物を見るアプリ

プログラミング 個人開発

Djangoアプリ開発体験談&Djangoアプリxserverデプロイ時のおすすめ記事まとめ

Djangoを使って初めてWEBアプリを作成しました。
ログインなしで使えるのでよかったら試してみてね。

https://yokatter.quality-of-life1.com/

プログラミング初心者の方もアプリ作成の参考にどうぞ。
この記事では苦労した点などについて書いていこうと思います。

なぜ作ったか

よくサイトにある「買ってよかったもの」まとめサイトなどが大好きだから。
他の人がどんなものを買っているのか気になる。いいものがあったら自分も欲しい。よかったものを自分もシェアしたい。在宅ワークでおうち時間を良くしたい。などの思いがあり作成しました。
前回laravelで掲示板を作ったが、djangoも同じようなものだろと思い、勉強もかねてdjangoで作りました。

初のdjango laravelと比べて

laravelと比べて、導入や環境開発は簡単なでした。
laravelではdockerの導入や、ubuntuなどいろいろ導入をしたが、pythonさえ入っていれば?コマンドちょちょってすればできました。

今回アプリ作成に関して一番大変だったのは、デプロイかなー。
xserverへのデプロイでしたがエラー連発の末、どうにかデプロイできました、herokuや、awsを使うのが定石らしいのですが、あまりお金をかけたくないことから普段使っているxserverへデプロイしました。デプロイ時詰まったところはこの後、共有します。

アプリ作成に関しては、今回はlaravelで作成したWEBアプリ時とは違い、ログインなしで作成しました。そのためか、作成自体割とすんなりできました。
詰まったところは、外部キーの取得方法位?英語サイトも頑張って巡り情報を探してそれも解決。

ただlaravelと比べて、djangoのほうが日本語では情報が少ないような気がしました。
laravelで作成したおかげもあってか、前回苦労したDB設計もすんなりいけました。

Xserver Django初デプロイ、エラー連発

正直、Djangoデプロイ?日本語記事出てきたしいけるっしょーくらいに思ってました。
それが半日くらい詰まってしまった。

xserverにデプロイのためか、英語記事は出てきませんでした。。

参考にさせていただいた記事たち。

https://kazusa-pg.com/xserver-django/

https://workspacememory.hatenablog.com/entry/2021/05/07/015923

https://datacoach.me/data/dx-edu/xserver-homebrew/#curl

https://qiita.com/joshnn/items/244ca701c1bf9be8f350

https://datacoach.me/data/dx-edu/xserver-python-miniconda-env/

https://next-k.site/blog/archives/2022/02/15/727

しょっぱなからエラー!

こんなにも記事があるのに!!エラーが解消できません。。
xserverにlinuxbrewをインストールする必要があるのですが、git、curlのバージョンが古いため、できませんと出る。
どうにか頑張って、git、curlのバージョンアップをしたが、gitエラーでremote-httpsが使えません?的なエラーが解消できず、結局minicondaを使って簡単デプロイ、ローカル開発でminicondaを使ってなかったためできれば、pipenvを使いたかったが、挫折。。下記リンクの方と同じところまで?いきました。


ただ、勉強になりました。
xserverにソフト?(gitやopensslなど)を落とすのに

  • ダウンロード
  • 解凍
  • configの設定?
  • make
  • make install

この手順でビルドが必要になるのがわかりました。
また、ビルドしたものは、パスを通して「このソフトを使うよ宣言」の必要があります。

普段、黒い画面をいじることは少ないのですが、いろいろ勉強になりました。

やっとデプロイ!!しかししかしの500エラー原因は改行コード

いろんな記事を見ると、500エラー、よくあることみたいです。
私の原因はcgiの改行コードでした。cgiはCRLFではなくLFにしなければいけないみたいで、ここで数時間かかった。。。
おそらくxserverに直接cgiを作成し、それをvscodeで作成したのが悪かった?
普段改行コードなど気にしないので全然気づかなかったが、たまにすごい悪さをする。

下記記事が参考になりました。

https://www.tohoho-web.com/wwwxx011.htm

※vscodeに拡張機能code-eol を入れると改行コードが可視化できるよ

終わりに

一度CRUDを自力で作ってみると、ほかの言語での作成もほぼ似たようなものなので、laravelの時ほど難しく感じなかった。(成長?)
djangoはパイソンベースなので今後はpythonで機械学習や、データ分析などもやっていきたいなと思いました。

最強の勉強法は結局アウトプット 初laravelでアプリ作成!苦労したこと4選と勉強法を公開します。

関連記事