明けましておめでとうございます!django!始めました!

明けましておめでとうございます!! 12月に決意表明をしたにもかかわらず記事を書かなかったダメ男です... (SHIROBAKOやグリムガル, ボールルームへようこそを見ててサボってたなんていえない...

ユメかわいいよ...

f:id:yh1126:20180107221501j:plain

っと、アニメばかり見てる私ですが、年末年始の長期休暇ということで下記の記事に沿ってDjangoの勉強をしています。

qiita.com

Djangoを勉強するにあたり今回PyCharmというエディタを使っています!

今までvimを使っていたので、新鮮であり、Pycharmのすごさに圧倒されています。。。 たとえば、vimで開発を行っている時、継承しているクラスのメソッドを呼ぶ際はそのクラスがどんなメソッドを持っているか 元クラスを調べに行くことが多々あります (私が便利なプラグインを知らないのが原因かもしれません。。。) しかし、PyCharmを使うと使用する下記の画像のように呼び出せるメソッドや変数の候補を表示してくれます!

f:id:yh1126:20180107215323p:plain

いやぁ、便利ですねえ...PyCharmは使い始めたばかりですが、かなり使いやすく感じています! Pythonで本格的に開発をするなら必ず使おうと思いました!

djangoでの開発の進め方?

djangoで新しくシステムを作る時の流れを簡単に自分用に記しておきます。

  1. プロジェクトの作成
  2. DBなどの環境設定
  3. アプリの作成
  4. マイグレーションファイルの作成やurlの定義
  5. ロジックの定義・フロント用ファイルの作成

djangoを始めてみての感想

  • 業務でLaravelやCodeIgniterアプリの運用を行っているので、ディレクトリ構造の違いなどが新鮮!
  • プロジェクトとアプリケーションの関係
    プロジェクトの下に複数のアプリケーションが作成できるので、下手をすれば1つのプロジェクトに多数のアプリが存在しする。そのため、プロジェクトが肥大化すると管理が大変そう...
  • コントローラが肥大化しそう
    アプリ名/views.pyというファイルが、MVCでいうコントローラの立ち位置に当たると思います。そのため、ここに各URLごとのメソッドを用意していくのですが、どんどんここに処理を書いて行くとかなり肥大化していきそう!よって、しっかりとビジネスロジックをモデルに閉じ込めて上げる必要がある。(プロジェクト全体で使いたいモデルやメソッドを定義するところはあるのだろうか...要勉強
  • 便利なモジュールをどんどんimportしていけば、開発者の負担が減って良さげ! Pythonは本当にライブラリが充実してそうなので、どんどん便利なものを撮ってきて利用すると開発がスムーズに行えそうですね!

まだ、チュートリアルのようなものを1つこなしただけなので今度は公式のチュートリアルをこなしていきたいと思います!