らべブログ

主にはアプリ開発や資産運用について書いていきます

初めてのWebアプリ制作②(ほぼ写経)

うまいこと進まず前回記事からかなり間があいてしまいましたが、落ち着いてきたので投稿。

開発準備(続き)

PostgreSQL

前回Anaconda仮想環境上にインストールして進めようとしましたが、そのあとうまくいかない箇所が多数出てきたので、大人しく公式サイトからインストールしなおすことにしました(最初からこちらでやっておけばよかった)。あとはconda仮想環境にpsycopg2とかいうものをインストールし、諸々の設定をし、データベース関係は終了。

Pycharm

こちらも普通にインストール。インタプリタ設定?でごちゃごちゃしましたが、結局今回作成した仮想環境上のPythonを指定してとりあえず修了。

バージョン管理システム

こちらは書籍では、GitをGUIで操作するのにSourcetreeを使用し、同じ会社のサービスであるBitbucketを使用することになっていましたが、なんとなくGitHubの方が好きなのと、アカウントを作るのがめんどくさいこともあり、とりあえずいじるのはやめておきました。Gitはすでに入っているのでGit BashとGitHubでやっていこうと思っていますが、もしかしたらSourcetreeは導入するかもしれません。

 

間があきすぎて何をしたかあまり覚えておらず、グダグダになってしまいましたが、準備はこのくらいでした、きっと、たぶん。

開発開始

書籍の前半、Djangoの大まかな構成が書かれている部分を読んだには読んだのですが、Webの仕組みもよく知らない僕にはあまり理解できず、「まあ進めていけばわかるだろう」という気持ちで早速開始。

 最初のうちはほんとに何もわからず、「なんでこんなものを打ち込んでるの?」「これはどういう意味なの?」なんて思いながら、調べつつちょこちょこ進めていきました。そしてもうすぐ完成するといった今になってようやくビューやルーティングの意味、タグの意味などが分かるようになってきました。

大体の意味が分かってきたところで、何がわからなかったのか、何を勉強するべきかも少しずつ見えてきたので、そこを少しまとめます。

Djangoの大まかな構成

まずこれ。書籍の前半部分に書いてあったのですが、「まあこれはちょっと目を通しておけばいいだろ」なんて思って適当に読み流してしまいましたが、これが分かってないと制作中に本当に何をやっているのかが分かりませんでした。

ルーティングがどこを結び付けているのか、ビューはどこと結びついているか、などの繋がりは最低限把握しておくべきでした。ここが分かっていなかった僕は、どのファイルになにを書き込むのかを理解するのにかなり時間をかけてしまいました。

Djangoテンプレート言語

こちらも前半部分に書いてありましたが、あまり読まなかった僕。Djangoにおけるテンプレートにあたるhtmlファイル達に何を書いているのかさっぱりわかりませんでした。こちらもDjangoテンプレートの記法、blockやurlなどのよく使われるタグなどを事前に覚える、もしくはすぐに調べれるようにしておくべきだと思いました。

Bootstrap

こちらもテンプレートの理解を妨げた大きな要因の一つでした。今回のアプリ作成には、Start Bootstrapというサービス?からデザインを引っ張ってきたのですが、Bootstrapに関して何も知らなかった僕はなぜこんなクラス名を付けるのか規則性が理解できず、下手にいじったらおかしくなるんじゃないか?と思い、写すことしかできませんでした。

 

他にも元々作られているクラスの中身がどうなっているのかわからず、どの変数をいじるべきかが分からないなどありますが、そこはソースを見て何とかしていこうと思います。

とりあえず作ってみた感想

簡単に作れるものにしようと考えた今回のアプリでしたが、わからないことが多すぎたため、結局ほとんど写経のような形になってしまい、思った通りのものが作れませんでした。

ですが、今回写経をしたことにより、Djangoの大まかな構成を知ることができ、現時点で何が分かっていないから作れないのかを把握することができたので、やってよかったです。今後はBootstrap、Gitを勉強しつつWebアプリ作りを進め、わからないところは公式サイトで調べる、といったスタイルで今度こそ狙い通りのアプリを作りたいと思います。それではまた。