データベース技術調査ブログ

LinuxやPostgreSQL、Oracleデータベース、AWSの知識をアウトプットしていきます

Django Girls Tutorialをやってみた

ちょっとした気分転換に、データベースから少し離れてDjango Girls Tutorialをやってみました。
評判通り、すごく分かりやすいチュートリアルでした(*^-^*)

今回はその感想を徒然なるままにそこはかとなく書きつくります。



Djangoとは

DjangoとはPythonのWebアプリケーション開発のフレームワークです。(もちろんオープンソース
どうもPythonのWebアプリフレームワークの中では「一番人気」だそうです(*´▽`*)


2019年Pythonのおすすめフレームワーク完全版!各フレームワークを徹底比較! | エンジニア案件紹介



公式サイトはこちら

www.djangoproject.com



公式でも押しポイント(+個人的な印象)は次の内容を追加する通り


・速く(書く分量が少ない)Webアプリを作れる
 pythonの良さである記述量が少ないのを最大限に引き出せている気がします)

・セキュアプログラミングを助けてくれる
 チュートリアルやった限りだと実感があまりないけど、工夫はされている気がする)

・スケーラビリティ
 チュートリアルだけだとわかりません...)



Django Girl Tutorialについて

出会い

このチュートリアルに出会ったのはこの記事です。


qiita.com


※いつからかはわかりませんが、Django2バージョンでのチュートリアルの日本語版が完成してリニューアルされたみたいです。


内容

Djangoの使い方のみならず、Webアプリ開発の基本的な考え方も教えてくれます。
初めての人でもできる、そんな優しさにあふれています。


インストールから実際に作ったウェブアプリ(ブログ)をデプロイするところまでできます。
基本的な一覧画面、詳細画面、登録画面、更新画面を作ります。


Webアプリ開発は新人研修の時に体験したので、基本知識はありましたが、改めて思い出しながらできました。


LinuxのコマンドやPythonの基本的な扱いもフォローしてくれていたので、本当の初心者にも優しいです。
(私は基本は抑えていたので読み飛ばしました)




実施期間の目安

GWの2日を使いました。(途中サボりつつ)
手順を記録として残すためにスクショやコマンドをまとめつつやったので、ただ体験するという目的であれば、1日でできるのでは?と思います。




チュートリアルの開発環境

開発環境

チュートリアル自体はいろいろな環境でできるようになっていましたが、今回はあえてAWS環境で開発してみました。


Cloud9でEC2インスタンス(t2.micro, Amazon Linux)を立てて、Cloud9で開発しました。


AWSはなかなかこういう機会でもないと触らないのでいい経験になりました。


デプロイ環境

GitHub上にPushしてPythonAnywhere環境にデプロイしました。
(この流れはチュートリアル共通ですね)



詰まったところ

詰まったところはほぼないです。
(ほんとよくできていました ^皿^)
しいて言うなら、私の環境はPython2とPython3が共存しているので、pythonコマンドをpython3に読み替える必要があったところです。

python3 manage.py xxx」(xxxはいろんなコマンドに置き換えます eg: runserver)

Django2.0バージョン(Python2はサポートしていない)でやっているので、そりゃそうですよね(^_^;)


あとはまた微妙なところですが、AmazonLinuxはyumでパッケージ管理しているのでインストールする時はyumでやりますってところは詰まってないけど、チュートリアルとは違うところですね。



【2019/5/5追記】
Extensionsの「Deploy your website on Heroku」を進める際には以下の記事を参照してください。
qiita.com



好きなところ

いくつかいいなと思ったところをあげます。

デプロイまでやるところ
 ⇒GitHubを初めてちゃんと使えた
  PythonAnywhereってすごく楽だな~

失敗(エラー)まで体験させるところ
 ⇒失敗こそ成長のチャンスですよね

説明が初心者向けなところ
 ⇒心が折れずに最後までやり切れる



個人的には時々出てくるチャプター終わりの気遣いも好きです。
英語版:Works like a charm? We're proud! Step away from your computer for a bit – you have earned a break :)
日本語版:動くのが楽しくなってきたでしょう?少しパソコンから離れて、休憩しましょう:)


顔文字のセンスも嫌いじゃないです。
英語版:Ready for the next chapter?! :)
日本語版:さて、次の章にいく準備はできましたか?^皿^



さいごに

チュートリアルにはExtensionsもあるので、これもやり切りたいと思います。

そろそろHerokuのほったらかしの環境を使い倒さねば、と思いつつ全然できていなかったので一歩前進しました。
といいつつまだまだデータベースの勉強もしなきゃいけないので、時間が足りないです。

まだまだ先が長いな~( ̄▽ ̄)


ちなみに、わたしはGirlじゃなくてBoyです(´・ω・)