前回は、電子書籍「速習Django3」に沿いつつ、しかし別の方法(Anacondaによりパッケージ管理)で、環境作成(Python動作環境、必要なライブラリのインストールまで)、仮想環境作成、新規プロジェクト作成、初期規定のアプリ表示を実施してみました。(仮想環境名は「Python_Django_sokusyu3_01」、新規プロジェクト名は「Python_Django_sokusyu3_01_PJ」、新規アプリケーション名は「main」でした)
今回は、続けて、Djangoアプリケーション作成(機能追加)を進めてみました。
以下は、その作業記録(備忘録)です。
1.Djangoアプリケーション作成(機能追加)
以下の様に、コードを追加しました。
(1)(アプリケーションフォルダ直下の)views.pyの編集
① django.httpからHttpResponseをインポート
from django.http import HttpResponse

② リクエスト情報を受け取って、メッセージを表示するビュー定義
def index(request):
#b.レスポンスを生成する
return HttpResponse(‘こんにちは、世界!’)

しかし、このままでは、ブラウザで(前回同様に、http://localhost:8000/ とURL指定しても)表示できません。(下図の様にエラーになります)

(2)(アプリケーションフォルダ直下への)urls.pyの追加・編集
① (アプリケーションフォルダ配下への)urls.pyの追加・編集
アプリケーションフォルダ配下には、urls.pyは自動作成されないので、手動で以下のようなファイルurls.pyを、作成しました。

↑ このルーティングは、ウェブサイトのルートパスにアクセスすると、indexビュー関数が呼び出されるように設定します。
(3)(プロジェクトフォルダ直下の)urls.pyの編集
上記(2)で作成したルーティング情報は、この(プロジェクトフォルダ直下の)urls.pyに登録しないと、Djangoに認識されません。以下の手順で登録していきます。
① include メソッドのインポート
from django.urls import path, include (※下線の部分を追加する)
② (path メソッド、include メソッドを使って)urlpatternsの追加
path(‘main/’, include(‘main.urls’)),

2.アプリケーション表示
① Webサーバー起動
python manage.py runserver

② ブラウザーで「http://127.0.0.1:8000/main/」の表示

上記までで、mainアプリケーションのviews.pyから直接文字出力ができました。
次回は、views.pyからの直接出力ではなく、テンプレート(DTL)を使って出力する手順を進めます。
(※DTL … Django Template Languageの略)