DjangoでのWebアプリ開発記事一覧

この記事は約8分で読めます。

 

Djangoでの開発手順。超簡潔まとめ

venvで仮想環境の作成

 

スポンサーリンク

Djangoでの開発手順

 

プロジェクトフォルダの立ち上げ

venvでの仮想環境の作成

プロジェクトの立ち上げ

mainフォルダの作成

プロジェクト立ち上げ直後の初期設定

メディア・スタティックフォルダの作成

アプリケーションの立ち上げ

 

 

 

main内のurls.pyにアプリケーションを登録

 

・フォルダツリーに新規追加はなし

■mainフォルダ内のurls.pyに追記

・プロジェクトフォルダ>src>main>urls.py

・2行目のライブラリのインポートに”include”を追記

・urlpatternsにアプリケーションフォルダ内のurls.pyを見に行く指示を追記↓

“path(‘[アプリケーションフォルダ名]/’, include(‘[アプリケーションフォルダ名].urls’)),”

・開発用サーバーを立ち上げて実際の画面を確認するには末尾に[アプリケーションフォルダ名]を入れる

例:http://127.0.0.01:8000/アプリケーションフォルダ名/

・この時点ではアプリケーションフォルダ内のurls.py,views.py,テンプレートがないので、開発用サーバーを立ち上げても404エラーが帰ってくる。

 

アプリケーションフォルダ内のurls.pyを作成

 

■アプリケーションフォルダ内にurls.pyを新規作成

・フォルダツリー

 

■アプリケーションフォルダ内のurls.pyに次のコードを記載

・プロジェクトフォルダ>src>アプリケーションフォルダ>urls.py

・urlpatterns内は今は空欄でOK。後でここにhtmlファイルなどへのパスを追記していく。

・urlpatternsが空欄で何にも紐づけられていないので、この時点では開発用サーバーを立ち上げても404エラーが帰ってくる。

 

アプリケーションフォルダ内でtemplatesフォルダを作成

アプリケーションフォルダ内でtemplatesフォルダを作成

 

■以下2つのフォルダを作成

・アプリケーションフォルダ内でtemplatesフォルダ

・templatesフォルダ内で[アプリケーションフォルダ名]_templates

・作成後のフォルダ構成

?htmlファイルなどはtemplatesフォルダ内にまとめておく理由を調べる

?templatesフォルダ内で、さらにフォルダを作成している理由を調べる

 

 

アプリケーションフォルダのurls.pyからテンプレートファイルとvies.pyへ紐づけ

アプリケーションフォルダ内のテンプレートフォルダ内に新しくhtmlファイルなどを作成した場合のurls.pyからの紐づけ方法について。

 

■htmlファイルを作成する

・templates>[アプリケーションフォルダ名]_templatesの中に新しくhtmlファイルを作成

・今回はindex.htmlを作成したものとする

・フォルダツリー内の[2]はviews.py編集時に使用する

・作成後のフォルダ構成

 

■vies.pyで関数を作成

・プロジェクトフォルダ>src>アプリケーションフォルダ>views.py

・urls.pyから接続リクエストを受けて、index.htmlを返すべき内容として渡す。

・今は何も処理を行っていないが、いわゆるビジネスロジックを後々index関数にさらに追記したり、別の関数を追加することで変数requestに載せる情報が増えていく。

・”return render(request, “[フォルダツリー[2]のフォルダ名]/index.html”)”は、第一引数にリクエスト時に渡された情報を持つ。また第二引数にはtemplatesフォルダ[3]からのパスを記載。

 

 

■urls.pyでviews.pyとhtmlファイルへ紐づけ

・プロジェクトフォルダ>src>アプリケーションフォルダ>urls.py

・冒頭、以下の通りviews.pyからindex関数をインポートしている。
”from .views import index”

・urlspatternsにviews.pyのどの関数へ紐づけるかを記載。第一引数がURL、第二引数がviews.py内の関数

”path(“”, index),”

・開発用サーバーを立ち上げた際は以下がURLになる。

“http:\\127.0.0.1:8000/アプリケーション名/”

・上記のURLはこれは、pathの第一引数を返すと変化する

“http:\\127.0.0.1:8000/アプリケーション名/[pathの第一引数]”

 

 

・ここまで、アプリケーションフォルダ内のurls.pyからviews.py内の関数とhtmlファイルへの紐づけを行ったことで、開発用サーバーを立ち上げてアクセスすることができるようになる。

・今後、view.pyへの関数の追加、htmlファイルの追加を行ったときは今回と同様にアプリケーションフォルダ内のurls.pyからそれぞれ紐づけを行う。

 

 

models.pyでモデルクラスを作成

 

・フォルダツリー。変更なし

 

■models.pyを編集

・プロジェクトフォルダ>src>[アプリケーションフォルダ]>models.py

・Modelクラスを継承したクラスを作成

・モデルクラス名は自由に決められる

?どのようなフィールド(ModelField)が使えるか要確認

 

 

モデルクラスをmigrationsファイルへ変換

 

■コマンドプロンプトで以下を実行

・コマンドプロンプト:プロジェクトフォルダ>src

・models.pyに記載したモデルクラスをmigrationsファイルへ反映している。

・次にmigrateコマンドを実行することで実際にDBへの書き込みを行う。

 

DBへ書き込み

 

■コマンドプロンプトで以下を実行

・コマンドプロンプト:プロジェクトフォルダ>src

・migrationsファイルの内容をDBへ実際に書きこんでいる

 

DBにカラムを追加

 

 

 

その他

 

コマンドラインラインでshellを使ってデータを登録

 

■コマンドプロンプトで以下実行

・コマンドプロンプト:プロジェクトフォルダ>src

・shellを起動。データの読み込みや書き込み等ができる

 

■データの登録

・ベースフォルダはmanage.pyのあるフォルダ。shellを実行するときはこのフォルダが起点になる。

models.pyはベースフォルダから出発してアプリケーションフォルダ内の中にあるので、下記のように”[アプリケーションフォルダ名].models”としてパスを指定する。その後、models.pyの中で定義されているクラス名を指定してインポートする。

“from [アプリケーション名].models import [モデルクラス名]”

 

・変数objectはこれからデータベースに登録されるデータを保持するオブジェクト。その属性としてfield1,field2を持ち、モデルクラスに定義されている各フィールドを示す。開発者が2つ以上のフィールドを定義した場合は、引数がさらに増えることになる。

またvalue1,value2はDBに登録する値

 

コマンドラインラインでshellを使ってデータを取得

 

■コマンドプロンプトで以下実行

・コマンドプロンプト:プロジェクトフォルダ>src

・shellを起動。データの読み込みや書き込み等ができる

 

■データの取得

 

 

スポンサーリンク
シェアする
柳をフォローする
Best Practice