Django

DjangoがバックエンドVue.jsがフロントエンドの時

フロントエンドとバックエンド

今、まだ、全然わからないなりにもバックエンドDjangoでフロントエンドVue.jsで開発をしています。

そこで、感じたことは、ドンってバックエンドから渡されたデータを色々、フロントエンドで加工して表示させることは、結構大変だってことです。

 

バックエンドでなるべく表示さることが容易になるようにデータを渡す

今回、自分で作りながら感じたことですが、1か月のスケジュール表を作成しています。

完成のイメージはこんな感じですが、21日~翌月20日までの日付ですが、これが、バックエンドのデータとしては、2021年12月分は、11月21日~12月20日というようなデータの持ち方をしていました。

これを、渡されたフロントエンド側では、条件を設定し、曜日を取得する関数を作成して表示させる必要がありました。

 

バックエンド側でテーブルの値として持つ

結果的、ひとつテーブルを増やして2021年12月分は、11月21日(21・日)11月22日(22・月)って感じで、期間中の日にちのみの表示フィールドと、曜日フィールドを持つことでフロントエンドはそれを回すだけですむようにしました。

不要なテーブルが、乱立することは良いことと思いませんが、フロントエンドでの処理を複雑にすることがあるものについては、バックエンドで多重にデータを持つことにならないのであれば、バックエンドで処理する方が開発工数は削減できます。

 

個人開発レベルでの話だと…

RDBの場合、基本的には、同じ値を色んなところで持たず、正規化することが良いとされています。

ただ、正規化されているされていないが大きく影響されるのは、ある程度の規模のシステムになってからです。

ちいさな会社の小さなシステムについては、開発スピードと業務改善が大切です。

 

個人での開発や、少人数での開発ならフロントエンドでの処理が複雑になる場合は、バックエンドで吸収するように考えるといいですね

 

-Django

© 2022 ごろう@縁紡ぐ