【Django入門】 簡単なメモアプリを作る。最低限の機能しかありません

最近Djangoを始めたので、勉強がてら超シンプルなメモアプリを作ってみました。

基本的には公式のtutorialを参考にしています。
しかし、tutorialよりもさらに簡素なものです(笑)。

以下のようなトップページを持つアプリです。

バージョン等

  • Python 3.6.0
  • Django 2.2

Djangoのインストール

実装

これから少しずつ実装していきますが、
全ソースコードはgithubにも上がっています。

https://github.com/tocom242242/simple_memo_for_studying_django

では少しずつ作っていきます。

まずプロジェクトを作成して、そのディレクトリに移動します。

今回は雑にプロジェクト名をsample_projectとします。

Djangoでは、各機能をアプリ単位で扱います。
今回はメモ機能があるのでmemosというアプリを作成します。
アプリは以下のコマンドで作成できます。

次にMemoモデルを作成します。
モデルはmemos/models.pyに記述します。

textフィールドがメモのテキストを保存するフィールドです。
created_atはデータを生成した時間です。

次に追加したアプリをプロジェクトに反映します。
これはsample_project/settings.pyに記述します。

次に作成したモデルをDBに反映します。
以下のコマンドを叩くことで、sql文を書かなくてもDBにテーブルを作成してくれます。

では、モデルを作って遊んでみます。まずは以下のコマンドでPythonの対話シェルを開きます。

通常のPythonの対話シェルではなく、このコマンドを使用することによってsample_project/settings.pyの設定を反映してくれるようです。

先程作ったモデルを使って遊んでみます。

次にviewsを書いていきます。

簡単に説明すると、indexメソッドがトップページのviewについて記述しています。
ここでは、ただすべてメモを取り出してトップページのレンダリングを行います。

detailメソッドではメモの詳細のviewについて記述しています。

insertメソッドでは新しいメモを作成する処理について記述しています。
ポストされたテキストを受け取り、そのテキストのMemoオブジェクトを作り保存します。

次にリンクの設定を行います。

app自体のurlの設定を行います。

トップページ、詳細ページを追加します。
追加するのはmemos/templates/memos/の下に書いていきます。
ディレクトリがなければ作ってください。

まず、memos/templates/memos/index.htmlを書いていきます。

次にdetail.htmlのページです。

memos/templates/memos/detail.html

ここまで実装できたら、以下のコマンドでサーバーを起動します。

http://127.0.0.1:8000/

にアクセスするとトップページが開きます。

おまけ

管理ユーザーを作成して、そこから操作してみます。

http://127.0.0.1:8000/admin

admin上でMemoアプリを編集出来るようにします。
memos/admin.py

参考文献

https://docs.djangoproject.com/ja/3.0/intro/tutorial02/
タイトルとURLをコピーしました