1. 程式人生 > >django--基於類的檢視

django--基於類的檢視

Django 提供基本的檢視類,它們適用於絕大多數的應用。所有的檢視類繼承自View 類,它負責將檢視連線到URL、HTTP 方法排程和其它簡單的功能。

在urlconf中的簡單用法:

使用通用檢視最簡單的方法是直接在URLconf 中建立它們。如果你只是修改基於類的檢視的一些簡單屬性,你可以將它們直接傳遞給as_view() 方法呼叫:

example:

from django.conf.urls import url
from django.views.generic import TemplateView

urlpatterns = [
    url(r'^about/', TemplateView
.as_view(template_name="about.html')),
]
在views.py中的用法:子類化通用檢視:
這種方式是繼承一個已經存在的檢視並在子類中覆蓋其屬性(例如template_name)或方法(例如get_context_data)以提供新的值或方法。例如,考慮只顯示一個模板about.html 的檢視。Django 有一個通用檢視TemplateView來做這件事,所以我們可以簡單地子類化它,並覆蓋模板的名稱:
example:
from django.views.generic import TemplateView

class AboutView(TemplateView
): template_name = "about.html"
然後還要在url中配置它:
from django.conf.urls import url
from some_app.views import AboutView

urlpatterns = [
    url(r'^about/', AboutView.as_view()),
]
注意:AboutView是一個繼承自TemplateView的類,所以我們要呼叫父類的as_view()方法!