diadia

興味があることをやってみる。自分のメモを残しておきます。

class based view メモ

例えばDetailviewを継承したクラスにクラスメソッドとしてdef post(self, request, *args, **kwargs):として書くと、request.POSTが動く。でもdef sss(self, request, *args, **kwargs):と書いて同じ内容のコードを記述してもエラーになってしまう。 この現象について分かっていない。

これについて

https://ccbv.co.uk/projects/Django/2.1/django.views.generic.detail/DetailView/

https://docs.djangoproject.com/en/2.1/ref/class-based-views/base/#django.views.generic.base.View.http_method_names

これはhttp_method_namesに含まれるものがある場合にはレスポンスを返すように動く。

 

 

 

 

 

 

推測

class Viewをもとに考える。まず参考資料。 classmethod as_view(**initkwargs)の役割は、リクエストを受け取ってレスポンスを返す、呼び出し可能なビューを返します、とある。 つまりView.as_view()はリクエストを受け取り、レスポンスを返す。

レスポンス = View.as_view()

https://udomomo.hatenablog.com/entry/2018/08/17/010011 これを見ればよかった