はじめに
pythonを勉強したくてdjangoを触りたくて、python初心者として1からアプリ作成の過程をまとめていこうと考えました。同じ境遇の方がいればぜひお読みください。
Djangoでは
『プロジェクト』というものまず作り、その中に『アプリケーション』と呼ばれるディレクトリを機能やページごとに分類していくつか作ります。
そして、それぞれの『アプリケーション』の中のファイルにコードをバシバシ書いていくって感じですね。
流れ
- プロジェクトの作成
- アプリケーションの作成
- データベースの作成
- パスを通す
- コードをかく
その1では「2.アプリケーションの作成」までやりましょう。
(環境構築は終わっているものとします)
プロジェクトの作成
$django-admin startproject mysite
ターミナルでお好きなディレクトリへ移動し上記のコマンドを打ちます。
これでmysiteというプロジェクトがディレクトリとして作成されます。
$ls mysite
mysite manage.py
mysiteディレクトリの中には、上記の2つのファイルとディレクトリが入っているはずです。
manage.pyには、コマンドなどの操作についていろいろ書いてありますが、まずは気にしなくて良しです👍
mysite/mysiteを見てみますと
$ls mysite/mysite
__init__.py settings.py urls.py wsgi.py
4つのファイルが作られました。ここには設定系のファイルが入っています。
__init__.pyは、django君に「ここにディレクトがありますよ〜」と教えてくれる目印みたいなものです。そのため中には何も書きません。こんなファイルが必要なんですね。
settings.pyは、このプロジェクト全体の設定が書き込まれています。この先ちょいちょい書き込んでいきます。
urls.pyは、ブラウザからURLを読みこんで、どのファイルやクラスに飛ぶのかを記載しています。アプリケーションなどが増えるたびにここへ書いていきます。いわゆる目次です。
wsgi.pyは正直よくわからないです。ごめんなさい。
今作ったmysiteプロジェクトにアプリケーションを作成していきます。
アプリケーションの作成
$python manage.py startapp posts
mysiteプロジェクトのディレクトリで上記のコマンドを打つとpostsというアプリケーションが作成されます。
アプリケーションが作成されるたびにさっきのmysite/mysite/setting.pyに追記をするのですが、それは『4.パスを通す』で話します。
$ls posts
__init__.py admin.py apps.py migrations models.py tests.py views.py
作成されたpostsの中には6つのファイルと1つのディレクトリが生成されます。順番にみていきましょう。
__init__.pyは、ただの目印ですね。
admin.pyは、管理サイトに関する記述をするファイルです。
djangoでは自動で管理サイトを作ってくれます。非常に便利ですね。
apps.pyは、アプリケーションを識別するためのファイルです。つまり、気にしなくて大丈夫みたいですね。
migrationsは、マイグレーション用のディレクトリです。データの移動系ですね。
models.pyは、MTVのMすなわちModelを担当するファイルです。
※DjangoではMVCではなくMTVとよび、アプリケーションごとにこれらの機能に関するファイルをおきます。(でもTemplateは別のディレクトリにまとめることが多い)
test.pyは、テストに関する記述をするファイルですね。テストとか何言ってんのかわかりませんね。
views.pyは、MTVのVすなわちViewを担当するファイルです。MVCでいうとControllerの役割です。
この中で主にコードを書くのはmodels.pyとviews.pyです。
$mkdir templates
$cd posts
$touch urls.py
この他に、urls.pyもアプリケーションごとに作ったほうがいいでしょう。
templateはHTMLファイルを置いておく場所です。
templateもアプリケーションごとにおいてもいいですが、全てのアプリケーションのtemplateをまとめて他のディレクトリにおくほうが一般的です。
templatesを作ったらまたsetting.pyに追記をするのですが、それもあとでやりましょう。
これで土台は完成です。
次の記事ではデータベースを使えるようにしていきます。