Django GirlsでDjangoの勉強 part3
Djangoの勉強第3回です。
Djangoビューの章は特に書くことがなかったので、今回はHTMLの入門の章からまとめていきたいと思います。見にくい部分もあるかもしれませんがよろしくお願いします!
HTML入門
HTMLは、「HyperText Markup Language」の略で、サイトを訪れた人にウェブページを表示するためのものです。HTMLコードは、 <>で挟まれたタグで構成されています。
webページは<html>で始まり、</html>で終わります。
<p></p> ではさまれた内容が一段落となります。
それぞれのHTMLページはheadとbodyという2つの要素があり、headは文章についての情報を含む要素で、bodyはWebページとして表示される内容を含む要素です。
<title></title>の間の内容が記事のタイトルとなります。
よく使われるタグは以下の通り
・<h1>ヘッダー</h1> 最も重要性の高い見出し
・<h2>サブのヘッダー</h2> その次のレベルの見出し
・<h3>サブのサブのヘッダー</h3>... など<h6>まで
・<p>文章の段落</p>
・<em>強調</em>
・<strong>さらに強調</strong>
・<br>は改行
・<a href="https://djangogirls.org">リンクを生成</a>
・<ul><li>第1の項目</li><li>第2の項目</li></ul> でリストを作成
・<div> </div>はページ内のセクションを定義
gitにアップロードするときはどこを変更したかをコメントで残すようにするとよいです。
DjangoのORMとクエリセット
クエリセットとはモデルのオブジェクトのリストのことです。
コンソール画面からも新しいオブジェクト(ポスト)を作ることができます。
クエリセットではポストを抽出し表示することができます。(例えばユーザーで抽出、タイトルで抽出など)
クエリセットではオブジェクトの並び替えもできます。
post.objectsのメソッドを複雑にすることで様々なクエリセットを表すことができます。
テンプレート内の動的データ
データベースからブログの記事をクエリセットとして取り出す(blog/views.pyに書いたコード)→テンプレートファイルに渡す…という流れで進んでいくようです。
クエリセットとは何なのかやモデルなどについては自分の理解が足りていないことを痛感していますが、全体を学び終わった後、詳しいところを理解できるよう掘り下げていければなと思っています。第1回でも書いたかもしれませんが、この段階では、まず全体のイメージをつかむことを優先していきます。
データベースから作成したクエリセットはPostsという名前になっているようです。render関数の引数にこのPostsを指定してテンプレートにPostsのデータを渡します。
そして、次の章でテンプレートに渡したこのデータをHTMLで表示していくようです。
Djangoテンプレート
静的や動的などが出てきましたが、要するにブラウザでは本当はHTMLしか使えないけど、Djangoテンプレートタグを使ってPythonも使えるようにしよう! ということのようです。
先ほど渡されたデータをPosts変数にいれることで、オブジェクトのリストだと認識してもらい、ループを使ってリスト内のすべてのデータを表示するようにしています(こういうところでPythonで学んだ知識が出てくると学びと実践がつながっている気がしていいですよね)。
HTMLのコードを混ぜることでよりWebページらしい見た目になっていきます。
これをデプロイすると…できました! ついに初めての投稿が!
まとめ
今回はここいらで終わりにしたいと思います。今回は「DjangoのORMとクエリセット」の章と、「テンプレート内の動的データ」の章が非常に難しく時間もかかりました(理解できていない部分も多いです…)。
超初心者用のチュートリアルをやるのに1週間以上もかけてしまいましたが、おそらく次の投稿でDjangoGirlsの学習は最後になるかと思います。ブログで自分が学んだことをまとめてアウトプットするというのは初めての試みでとても大変でした。見苦しいところばかりだと思いますが、少しづつでも学習していくので応援よろしくお願いします。
最後まで見ていただきありがとうございました。
ではまた~
この記事が気に入ったらサポートをしてみませんか?