Zakku-Spot.com

気になる情報のリサーチブログ - Reserch blog of information you care about -

0 0
Read Time:1 Minute, 24 Second

 前回は、電子書籍「速習Django3」に沿いつつ、しかし別の方法(Anacondaによりパッケージ管理)で、環境作成(Python動作環境、必要なライブラリのインストール)、仮想環境作成、新規プロジェクト作成、初期規定のアプリ表示、機能追加したアプリをviews.pyから直接出力表示するところまで実施し、それに対しての、ふりかえり(反省)を行ってみました。
 (仮想環境名は「Python_Django_sokusyu3_01」、新規プロジェクト名は「Python_Django_sokusyu3_01_PJ」、新規アプリケーション名は「main」でした)

 今回は、新たに(views.pyからの直接出力表示ではなく)Djangoのテンプレート(TDL)を利用して、アプリケーション作成(機能追加)するところまで進めてみました。

 以下は、その作業記録(備忘録)です。

1.今回の作業の流れ

(1)方針

(詳しい事は電子書籍「速習Django3速習シリーズ」を見て頂ければと思うのですが)
 要は、

・前回実施したのは、あくまで、viewsから直接出力表示しただけに過ぎない。
・理想としては、MTV(Model-Template-Viewの略)の考え方に従って、DTL(Django-Template-Languageの略)を用意(TemplateエンジンはDjango標準装備だが、Template自体は手動で作成)し、それ経由で(ブラウザで)出力表示するべきだ。
ということが書かれています。

 故に、今回は、これに沿った、作業の流れになります。
 ※以降の手順前後は書籍とは少し順番を変えてあります。

2.手順(テンプレートを追加して、アプリケーションを表示する)

 ここから、新たに(views.pyからの直接出力表示ではなく)Djangoのテンプレート(TDL)を利用して、アプリケーション作成(機能追加)していきます。

 以下はその手順です。

(1)テンプレート格納用フォルダ作成

 (前回作成した)アプリケーション(main)配下に、
  ¥templates¥main2
というフォルダを作成します。
(※以降の説明では、(前回作成した)mainアプリケーションは、アプリケーション(main)、
  そして、(今回追加した)main2フォルダは、テンプレート(main2)、と表記しています。)

(2)テンプレートファイル作成

 (上記(1)で作成したテンプレート(main2)フォルダに)手動で、
  temp.html を作成します。
利用者は、Webサーバ起動後、ブラウザでこのページを閲覧することになります。

(3)(settings.pyへの)テンプレート登録

 (上記で作成したテンプレートを)settings.py のINSTALLED_APPS に追加します。
  ’main.templates’,  
  (※(アプリケーション(main)フォルダ配下を基準として)¥templates¥main となる、と考えて下さい。)

(settings.py の拡大図)

(4)URL情報登録

 (ブラウザーで、http://localhost:8000/main/temp と指定した時に表示させたいので)
 (アプリケーション(main)フォルダ配下の)urls.py の urlpatternsに、
  path(‘temp‘, views.temp, name=’temp’),
と登録します。(※下線の部分が、同じであれば、良いです。後の部分のtempは、決めの問題です)

  ※元々のアプリケーション(main)の基準URLは、http://localhost:8000/main/ 、
   そこを基準に、その配下に、tempをつけて指定させた場合の処理を宣言しています。

(urls.pyの拡大図)

(5)(views.pyへの)temp関数追加

 上記④で登録した文言に、views.temp, name=’temp’ がありましたが、このtempです。
 このtempの実態を、ここに作成します。


def temp(request):
    # a. ビュー変数を準備
    context = {
        ‘msg’:’こんにちは、世界!※temp.htmlから出力表示(電子書籍「速習Django3速習シ
リーズより」’
    }
    # b. テンプレートを呼び出す
    return render(request, ‘main2/temp.html’,context)

(views.pyの 拡大図)

(6)マイグレーション実施

  python manage.py migrate

(7)Webサーバ起動

  python manage.py runserver

(8)ブラウザーでアプリケーション(をビュー関数から)表示

 ブラウザーで、以下のURLを、表示する。

  http://localhost:8000/main/temp

 以上で、アプリケーションを、テンプレート(temp.html)から出力表示ができたことになります。

3.ふりかえり(viewsから直接出力表示と、テンプレート(temp.html)による出力表示)

 viewsから直接出力表示したものと、テンプレート(temp.html)による出力表示したものは、下図の通り、ほぼ同じですが、後者の方が、HTMLによる制御により、いろいろと、カスタマイズ制御し易いことが、…分かりますよね?

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

コメントを残す