libro
www.tuyano.com
初心者のためのDjango 2.0入門

アプリケーションを追加する (2/4)

作成:2017-12-16 10:25
更新:2017-12-16 10:25

■views.pyにページ処理を追記する

作成したhelloアプリケーションには、まだWebページはありません。では、簡単なページ処理を追加してみましょう。

ページの処理(アクセスしたときに表示する内容を生成する処理)は、アプリケーションフォルダの「views.py」に記述します。「hello」フォルダ内のviews.pyをテキストエディタ等で開いて下さい。そして、下に上げたリストを記述しましょう。

注意してほしいのは、インデントです。Djangoのスクリプトは、タブではなく、半角スペース4つでインデントを行なって下さい。タブを使うと後でエラーになります。


■ビューの関数について

画面表示を行う処理(ビュー)は、関数として定義します。これは以下のような形で定義します。
def 名前 (request):
    ……実行する処理……
    return HttpResponse( 出力内容 )

ビューを定義する関数では、requestという引数が1つ用意されます。これはHttpRequestというクラスのインスタンスで、HTTPリクエスト(クライアント側からサーバーへのアクセス)に関する機能などをまとめたものです。クライアントがアクセスした際の情報などはこのインスタンスを使って利用できるようになっています。

このビュー用の関数では、最後にHttpResponseクラスのインスタンスを返しています。これは、HTTPのレスポンス(アクセスした側に返送する処理)に関する機能がまとめられているクラスです。

ここでは、HttpResponseインスタンスを作る際、引数にテキストが設定されていますね。これが、実際にクライアント側に返送される内容になります。つまり、テキストやHTMLのコードを引数にしてHttpResponseを作成しreturnすれば、引数に指定した内容がクライアント側に表示される、というわけです。

このように、「HttpRequestを受け取り、HttpResponseを返す」というのがビュー用関数の基本です。この基本をまずはしっかりと頭に入れておきましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

from django.http import HttpResponse

def index(request):
    result = '<html></body><h1>Hello!</h1><p>this is django sample page.</p></body></html>'
    return HttpResponse(result)

※関連コンテンツ

「初心者のためのDjango 2.0入門」に戻る