Django View関数とViewクラス

Django

View関数

def 関数名(request):
#処理
    return render(request, テンプレート名, コンテキスト)
def myview(request):
    return render(request, "index.html", {"data": "コンテキストデータ"})
<メソッド>
render
redirect
get_object_or_404

<urls.py>

from django.urls import path
from .views import myview

urlpatterns = [
    path('my-view/', myview),
]

Viewクラス

<継承元>
TemplateView
RedirectView
ListView
DetailView
CreateView
UpdateView
FormView

#継承元クラスのインポート

#モデルクラス名のインポート(必要な場合のみ)

class クラス名(継承元クラス):
template_name = テンプレート名
model = モデルクラス名(TemplateViewやRedirectViewでは不要)
#レスポンスを返す必要がない
from django.views.generic import TemplateView

class MyTemplateView(TemplateView):
    template_name = "index.html"

<urls.py>

from django.urls import path
from .views import MyTemplateView

urlpatterns = [
    path('my-view/', MyTemplateView.as_view()),
]
<メソッド>
get_context_data
get_queryset
get_object
from django.views.generic import TemplateView

class MyTemplateView(TemplateView):
    template_name = "index.html"

    def get_context_data(self, *args, **kwargs):
        ctx = super().get_context_data(*args, **kwargs)
        ctx["new_context"] = "new data"
        return ctx
【簡単】Django Viewの基本|関数とクラスの違いとは?
Django Viewについて詳しく知りたいですか?当記事では、Django初学者の方へ向けて、Viewの役割や機能、使い方はもちろん、View関数とViewクラスについても解説してきます。これさえ読めば、Viewについての基本はばっちり。初学者の方は必見の内容です。
タイトルとURLをコピーしました