django--基於類的檢視
阿新 • • 發佈:2019-02-08
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()方法!