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です。