Agile育成ブログ
未来を変える喜びを
Django

Django renderメソッド


Warning: count(): Parameter must be an array or an object that implements Countable in /home/xs638785/agile-software.site/public_html/wp-content/plugins/rich-table-of-content/functions.php on line 490

render

renderはテンプレートをレンダリングするのに使われる関数です。

レンダリングとは?

テンプレートに記述されている変数などを実際に使う値に置き換えて表示を完成させる処理のことです。

renderメソッドは、request、template_name、contextという3つの引数を取ります。(実際にはもっと沢山の引数を取ります。)

https://www.agile-software.site/2021/04/29/512/

下記のコードはrenderメソッドを使ってresponseオブジェクトを作成しています。
requestは最初の引数として設定し、次に’accounts/profile.html’を指定しています。
renderメソッドの引数にhtmlファイルを指定することでそのhtmlファイルをtemplateとして使えるようになるのです。

from django.shortcuts import render, redirect
from django.views import View

# Create your views here.
class ProfileView(View):
    def get(self, request, *args, **kwargs):
        return render(request, 'accounts/profile.html')

requestの中には、セッションの情報や、requestの種類(getかpost)の情報が入っています。

template_nameには、表示するhtmlファイルの情報が入っています。

contextには、データベースに入っているデータの情報が入っています。

renderメソッドは、これらの情報をうまく組み合わせて、ごちゃごちゃになっている情報を、ブラウザに表示しやすい形に変えてくれているのです。

POSTとget

POSTとGETはブラウザがリクエストを送る方法のことです。
ウェブサーバーがリクエストを受けると、そのリクエスト(methodに関する情報も含みます)がDjangoに送られ、Djangoの中でmethodに応じた処理が行われます。
このmethodの違いで内部で実行する処理を使い分けているわけです。

POST

POSTが使われる場面は、問い合わせフォームやユーザー登録など、ブラウザ上で何らかの情報をサーバーに送る場面です。

get

携帯やパソコンでブラウザを開き、何らかのサイトを開いた時やウェブサイトの中のリンクをクリックして他のサイトに移動する時のmethodはgetです。

You cannot copy content of this page