Django GirlsでDjangoの勉強 part1


お久しぶりです! 年度初めでプログラミングの勉強ができていませんでしたが、勉強と記事の更新を再開していきたいと思います!

今回は…    Django!!!

ctfを効率的に学習していくために、webアプリケーションについて勉強していこうと思い、分かりやすいと評判が良かった「Django Girls」というチュートリアルでDjangoについて勉強しました。

https://tutorial.djangogirls.org/ja/

自分が勉強になったところや、つまづいたところをメモ程度にまとめるので、よかったら参考にしてください!

独学で学んでいるので間違っているところもあるかもしれませんが、コメントで教えていただけると嬉しいです!


はじめに

Djangoの説明を軽くしておきます。

Djangoとは、簡単に言うと、pythonでwebアプリケーションを作るためのものです。webアプリケーションを作る際には様々な処理が必要ですが、それを先人たちが作ったコードを使って解決しようというものです(このようなものをフレームワークと呼びます!)。要はDjangoを使うと、pythonでwebアプリケーションが簡単に作れるということです!


各種ダウンロードについて

エディターやpythonなどのダウンロードに関しては、かなり丁寧に説明してくれているので問題ないと思います。もしうまくいかなかったら、個別にググればかなり詳しい記事が出てくると思います(ググるのもプログラマーの能力の一つって誰かが言ってました…)。


VScodeを使う場合

コマンドプロンプトやWindowsPowerShellを使わなくても、visual studio codeでコマンドを実行することもできます。

VScodeを開くと、左上のほうにTerminalと書かれた部分があると思います。そこを押すと下のほうにターミナルが出てくると思うので、そこに指示されたコードを打っていけばいいです。

注意しなければいけないのは、(myvenv)C:\Users\Name\djangogirls>の部分はすでに出ている(Nameの部分だけ違う)ので打たなくてもいいということです。コピペするときなどに注意してください!

また、途中で新しいターミナルウィンドウを開けという指示があると思いますが、下半分のターミナルの右上部分にあるWindowsPowerShellと書かれたタブを開き、下のほうにあるWindowsPowerShellを押すと新しく開くと思います。


プロジェクトを作成しよう

ここからDjangoを使ってアプリを作っていきます。学んだことを箇条書きで書いていくので参考にしてください。

・Djangoではたくさんのファイルが作成されるが、名前を変えたり、移動させるべきではない

・manage.pyはサイトの管理に役立つスクリプト。コンピューター上でWebサーバーを起動することができる

・settings.pyファイルは、ウェブサイトの設定を行う

・urls.pyファイルには、urlresolver(Djangoがビューを見つける仕組み)で使用されるパターンのリストが含まれている

・タイムゾーン、言語コードを変更し、静的ファイルのパスを追加する必要がある。ホストにPythonAnywhereを追加する。

・Djangoはsqlite3 というデータベースを使っている

・python manage.py migrateでブログのデータベースを作成できる。

・python manage.py runserverを実行してWebサーバーを起動できる。


Djangoモデル

・つくりたいアプリにどんな要素(プロパティやメソッド)が必要なのかを考えて、クラスを作る

・python manage.py startapp blogでblogという新しいアプリケーションを作り、整理するとよい

・そのときに'blog.apps.BlogConfig', という一行を追加することで、Djangoが使うようにできる

・models.CharField – 文字数が制限されたテキストを定義するフィールド

・models.TextField – 制限無しの長いテキスト用。

・models.DateTimeField – 日付と時間のフィールド

・models.ForeignKey – 他のモデルへのリンク

・python manage.py makemigrations blog-モデルの変更を知らせる


デプロイ!

・デプロイとは作ったアプリケーションをインターネットで公開すること

・Gitは時間の経過とともにファイルへの変更を追跡することができるバージョン管理システム

・Gitはコードリポジトリ(または略して「リポジトリ」)というものの中に置かれる特定のファイルへの変更を追跡する

・変更を追跡しなくてもいいファイルは.gitignoreという名前のファイルに明記する

・git status コマンドは、あらゆる追跡されていない/変更されている/ステージされているファイルや、ブランチの状態などさまざまな情報を返す

・普通、コードをgithub上において運営する

・GitHubからコードをダウンロードする

・PythonAnywhere上に仮想環境 を作成する

・一部のデプロイメント設定で設定ファイルを更新する

・manage.py migrateコマンドを使ってPythonAnywhere上のデータベースをセットアップする

・静的ファイルの設定

・APIを通じてPythonAnywhereがあなたのWebアプリケーションを提供するように設定する

・上6つのことを他のサーバーでは自分でやらなければいけない。

・PythonAnywhere上のデータベースは、自分のPC上のデータベースとはまったく別物である

・実際にアプリケーションをつくるときは今回の方法よりもセキュリティにもっと気を付けなければいけない(Djangoデプロイチェックリスト参照)

・ローカルで変更し、それらの変更をGitHubにプッシュし、それからその変更を公開しているWebサーバーにプルしてくることでアプリケーションを壊すことなく変更を加えることができる


いったん休憩

このあたりで私の小さい頭はパンクしそうになっているので、part1はこの辺でいったん終わりたいと思います。本当に見にくいメモ書きになってしまって申し訳ありません! 次回は頭も記事も整理して、見やすい記事になるよう工夫しようと思うので、ぜひ次回も見ていってください!

プログラミングを初めて間もないですが、これからも頑張っていきます。ご指摘やアドバイスがあればよろしくお願いします!

最後までご視聴ありがとうございました!

ではまた~

この記事が気に入ったらサポートをしてみませんか?