Python環境で、Djangoプロジェクト、アプリケーション作成時に、初期作成されるviews.pyの内容は以下の通りです。
1.基本設定項目
views.pyファイルは、Djangoアプリケーションのビューを定義するファイルですが、個々の設定は、ユーザーからのリクエストを処理し、レスポンスとしてHTML、JSON、画像などのデータを返します。
2.初期作成時のviews.py
初期作成時のviews.pyの内容は以下の通りです。
このファイルでは、django.shortcutsモジュールからrender関数をインポートしています。render関数は、HTMLテンプレートをレンダリングするために使用されます。
3.具体的な定義の仕方
views.pyファイルは、Djangoアプリケーションの動作に重要なファイルです。
このファイルでは、ビューを定義する必要があります。編集する際は、各ビューの処理内容を理解した上で編集する必要があります。
(1)定義形式
ビューは、次の形式で定義できます。
def view_name(request):
# 処理
return render(request, ‘templates/index.html’)
(2)定義内容の説明
・view_name … ビューの名前です。
・request … ユーザーからのリクエストです。
・処理 … ユーザーからのリクエストを処理するコードです。
・return render(request, ‘templates/index.html’)は、HTMLテンプレート’templates/index.html’をレンダリングしてユーザーに返します。
(3)補足(requestについて)
requestには、ユーザーからのリクエストに関する情報が含まれています。
requestには、次の情報が含まれています。
- ユーザーのIPアドレス
- ユーザーのブラウザの種類
- ユーザーのアクセスしたURL
- ユーザーが送信したリクエストメソッド(GET、POSTなど)
- ユーザーが送信したリクエストパラメータ
requestから情報を取得するには、request.method、request.GET、request.POSTなどの属性を使用します。
たとえば、ユーザーがGETメソッドで/index/というURLにアクセスした場合、request.methodは’GET’、request.GETは’/index/’、request.POSTは空の辞書になります。
requestから情報を取得したら、ユーザーからのリクエストを処理するために使用します。
たとえば、ユーザーがGETメソッドで/index/というURLにアクセスした場合、index.htmlテンプレートにアクセスしたユーザーのIPアドレスを表示するビューを作成することができます。
(4)ビュー定義の例
① ユーザーのIPアドレスを取得して表示するビュー
def index(request):
ip_address = request.META[‘REMOTE_ADDR’]
return render(request, ‘templates/index.html’, {‘ip_address’: ip_address})
このビューでは、request.META[‘REMOTE_ADDR’]属性を使用して、ユーザーのIPアドレスを取得しています。次に、index.htmlテンプレートに’ip_address’キーの値としてユーザーのIPアドレスを渡しています。
index.htmlテンプレートでは、’ip_address’キーの値を使用して、ユーザーのIPアドレスを表示します。
Hello, {{ ip_address }}
② 特定のURLパターンに一致するときにDjangoが呼び出すPython関数
def index(request):
#b.レスポンスを生成する
return HttpResponse(‘こんにちは、世界!’)
このビューの定義は、特定のURLパターンに一致するときにDjangoが呼び出すPython関数です。
この場合、ビューの定義は、URLパターンが/
に一致するときに呼び出されます。
ビューの定義は、HttpResponse
オブジェクトを返します。 HttpResponse
オブジェクトは、ブラウザに送信されるHTTPレスポンスを表します。
この場合、HttpResponse
オブジェクトは、テキスト「こんにちは、世界!」を返します。
したがって、このビューの定義は、URL /
にアクセスしたときに、ブラウザにテキスト「こんにちは、世界!」を表示します。