djangoでプロジェクトを立ち上げてからテンプレートで「HelloWorld」を出すまでの流れ
djangoを本格的に学び始めて2日ほどたった。入門書はだいたい読み終えたし、大まかに把握はした。よし、アプリを作ろう。
あれ?ここどうするんだっけ...
俺は基本のデータの流れすら、覚えられてなかった。まぁ、2日で完璧に覚えられるわけがない
ということで今回は個人用メモみたいなものになるけど、Pyhonの代表的Webフレームワーク「Django」でプロジェクトファイルを作成してから
HelloWorldを出すまでの流れを出来るだけ詳しくかいていこうと思います!
...
とりあえず環境構築の過程は割愛します。出来上がったファイル構成はこう
フォルダの説明
urls.py
Railsでいうところのルーティングファイル。 アクセス時のURLパターンを読み取り、パターン別にviews.pyの各クラス、もしくはメソッドに処理を流す
views.py
Railsでいうところのコントローラ。urls.pyから流れて来たリクエストを処理する。
Templates
htmlなどの保存場所。原則としてその更に下にファイルを置いてその中にhtmlフォルダを入れる。
今回のテーマの一番重要な3つのファイルとフォルダについて説明しました。
HelloWorldを表示する
TestAppファイル以下のurls.pyを以下のように編集する
include は指定したモジュールを呼び出す。今回はHelloWorldファイル内のurls.pyを呼び出している。
TestAppのurls.py内に全てのルーティングを設定できるが、アプリケーション別にurls.pyを作ってルーティングしないとまとまりが悪くなるので原則としてこの形をとる
そしてHelloWorldファイル内のurls.pyはこう
カレントディレクトリからviews.pyをimportしている。
ここでは、urlでhello/が呼び出されたらhelloメソッドを呼ぶようにルーティングをとっている。
そして処理はviews.pyに流れ
ここでrenderでTemplates内にある HelloWorldファイルの中にあるhello.htmlを呼び出してreturnしている
この一連の処理の流れを経て我々の元にHelloWorldが送られてくる
おはよう世界
...
注意するべきなのは、アプリ内でテンプレートを使用するときはsettingファイルをこう編集しないといけない
これで使えるようになります。
...