t-shirt!DjangoモデルDjangoモデルさて、ブログの中のポストを格納するものが欲しいですよね。ついてちょっとお話しします。それは、退屈なプログラムを繰り返し書く代わりにモデルになるものを作って、それが他とどう作用するかを定義するという考え方です。オブジェクトって何なの?って思いますよね。オブジェクトは状態(プロパティ)と命令(アクション)の塊です。来ないでしょうから例を挙げましょう。オブジェクトを作ります。オブジェクトですね、捨て猫ならそのプロパティは空白)です。いうプロパティを持つ別のオブジェクトになるでしょう。呼びます)を持つコードで表現するという考え方です。ブログポストはどういうモデルになるでしょうか。ブログが作りたいんですよね?それにはブログポストとは何か、それはどんなプロパティがあるかという問いに答えなければなりません。確実なのはブログポストにはコンテンツとタイトルが必要ですね。それからそれを書いた人が分かるといいでしょう。最後に、ポストをいつ作成、公開したかも分かるといいですね。達成したいことが分かったので、Djangoでモデリングの開始です!Djangoモデルオブジェクトが何か分かったので、ブログポストのDjangoモデルを作りましょう。データベースはデータの集まりです。ここにユーザーやブログポストの情報を格納します。データを格納するのにSQLiteデータベースを使います。これはDjangoのデフォルトのデータベースで、今はこれで十分です。データベースの中のモデルは、列(フィールド)と行(データ)があるスプレッドシートと思ってもらっても結構です。全部をきちんと整理しておくため、プロジェクトの中に別のアプリケーションを作ります。初めから全てを整理しておくのはとっても良いことです。アプリケーションを作るために、次のコマンドをコンソールの中で走らせましょう。ディレクトリが作られて、今沢山のファイルがそこに入っているのに気がついたでしょう。requirements.txtアプリケーションを作ったら、Djangoにそれを使うように伝えないといけません。エディタでこれを開いてください。いう一行を追加します。すると、最終的には以下のようになりますね。呼ばれるオブジェクトを全て定義します。これがブログポストを定義する場所です。エディタで開いて中身を全部削除し、下のコードを書きましょう。)がちゃんと入っているか確認しましょう。これはPythonでよく使われて、"ダンダー"(ダブルアンダースコア)と呼ばれます。難しそうでしょ?でも大丈夫!ちゃんと説明しますから。始まる行は全部、他のファイルから何かをちょこっとずつ追加する行です。必要部分を入れることができます。classはオブジェクトを定義してますよ、ということを示すキーワードです。モデルの名前で、他の名前をつけることもできます(が、特殊文字と空白は避けなければいけません)。モデルの名前は大文字で始めます。Modelだという意味で、Djangoが、これはデータベースに保存すべきものだと分かるようにしています。それにはまずフィールドのタイプを決めなければいけません。これは制限無しの長いテキスト用です。モデルのフィールドや上記以外の定義のやり方について知りたい方は是非Djangoドキュメントを見てみて下さい。これこそが先程お話ししたブログを公開するメソッドそのものです。これはファンクション(関数)/メソッドという意味です。変えることもできます。メソッドの名前に使っていいのは、英小文字とアンダースコアで、アンダースコアはスペースの代わりに使います。