1. 程式人生 > >Django 通用檢視

Django 通用檢視

我們用Django開發,比如做一個部落格,我們需要做一個博文列表,需要分頁,這樣我們需要計算出一共有多少篇文章,根據每頁顯示的博文數量,我們從資料庫是顯示出相應的頁對應的文章,這樣使用資料庫的查詢可以實現,但是這種需求是比較普遍的,所以Django中有更簡單的方法來實現,最簡單的方法就是使用 generic 類來做。

有時候我們想將一個模板直接顯示出來,還不得不寫一個檢視函式,其實可以用 TemplateView 可以直接寫在 urls.py 中,這樣的例子還有很多,下面一一介紹:

在urls.py中使用類檢視的時候都是呼叫它的 .as_view() 函式

一,Base Views

1. django.views.generic.base.View

這個類是通用類的基類,其它類都是繼承自這個類,一般不會用到這個類,個人感覺用函式更簡單些。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # views.py from django.http import HttpResponse from django.views.generic import View class MyView(View):
def get(self, request, *args, **kwargs): return HttpResponse('Hello, World!') # urls.py from django.conf.urls import patterns, url from myapp.views import MyView urlpatterns = patterns('', url(r'^mine/$', MyView.as_view(), name='my-view'), )

2. django.views.generic.base.TemplateView

 get_context_data() 函式中可以用於傳遞一些額外的內容到網頁

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # views.py from django.views.generic.base import TemplateView

相關推薦

Django通用檢視的get_queryset, get_context_data和get_object等方法

Django通用檢視的get_queryset, get_context_data和get_object等方法 簡介: Django提供了很多通用的基於類的檢視(class Base View),可以幫我簡化以下的程式碼操作。 這些基類的檢視還提供了get_queryset()

Django通用檢視APIView和檢視集ViewSet的介紹和使用

1.APIView DRF框架的檢視的基類是 APIView APIView的基本使用和View類似 Django預設的View請求物件是 HttpRequest,REST framework 的請求物件是 Request。 Request物件的資料是自動

Django 通用檢視

我們用Django開發,比如做一個部落格,我們需要做一個博文列表,需要分頁,這樣我們需要計算出一共有多少篇文章,根據每頁顯示的博文數量,我們從資料庫是顯示出相應的頁對應的文章,這樣使用資料庫的查詢可以實現,但是這種需求是比較普遍的,所以Django中有更簡單的方法來實

如何使用Django通用檢視的get_queryset, get_context_data和get_object等方法

Django提供了很多通用的基於類的檢視(Class Based View),可以幫我們簡化執行以下操作的程式碼。這些基於類的檢視還提供了get_queryset, get_context_data和g

Django 實現HTML轉PDF 用通用檢視編寫PDF 並且讓PDF支援中文

Django 實現HTML轉PDF 用通用檢視編寫PDF 並且讓PDF支援中文 如何使用django-easy-pdf django-easy-pdf的依賴 安裝django-easy-pdf 使用過程中遇到的問題總結

django系列8:優化vote頁面,使用通用檢視降低程式碼冗餘

修改detail.html,將它變為一個可用的投票頁面 <h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ error_message }}</str

django常用的通用檢視方法

1,列表檢視 class ArticlePostListView(ListView): model = ArticlePost context_object_name = 'post' template_name = 'course/course_list.html'

Django第十二篇-----通用檢視

    什麼是通用檢視 通用檢視把檢視開發中常用的寫法和模式抽象出來,讓你編寫少量程式碼就能快速實現常見的資料檢視。顯示物件列表就是這樣一種任務 有了通用檢視,可以把模型作為額外的引數傳給 URL 配置。Django 自帶的通用檢視能實現下述功能: • 列出物

Django 1.6 基於類的通用檢視

最初 django 的檢視都是用函式實現的,後來開發出一些通用檢視函式,以取代某些常見的重複性程式碼。通用檢視就像是一些封裝好的處理器,使用它們的時候只須要給出特定的引數集即可,不必關心具體的實現。各種通用檢視的參考參見:https://docs.djangoproject.com/en/1.6/ref/c

Django REST Framework學習-分頁,通用檢視,自定義RelatedField

使用通用檢視+分頁+自定義RelatedField url:cardusers/pk/ 傳入模型Card的pk,獲取當前Card的所有User中username和頭像avatar,User是avatar的外來鍵 1. 過載ListAPIView,加入分頁 class

Django 中 的 檢視View及 通用檢視(Generic View)

from django.shortcuts import render, get_object_or_404 from django.contrib.auth.models import User from .forms import ProfileForm from django.http import H

Django筆記 自定義ListView通用檢視

資料 自定義get_queryset函式 class Browse(generic.ListView): template_name = 'app/browse.html'

Django 通用類視圖

.sh 而不是 比較 回車 一次 get請求 span pro 動態 引文 所有的類視圖都繼承django.views.generic.base.View類。 在URLconf中簡單的使用通用視圖 如果只是簡單的做一些屬性修改,可以使用as_view()方法,如下所示:

django前端檢視與新增在同一個views方法中實現

1,前端樣式: 2.html程式碼 {% load staticfiles %} <p class="text-right"><button class="btn btn-primary" id="add_column" onclick="add_column

007---Django檢視

檢視函式 一個檢視函式,簡稱檢視,是一個簡單的python函式。它接收web請求並且返回web響應. 1、一張網頁的HTML內容 2、一個重定向 3、一個404錯誤 4、一個xml文件 5、一個字串 1 def current_time(request): 2

django之類檢視

類檢視 1 類檢視引入 以函式的方式定義的檢視稱為函式檢視,函式檢視便於理解。但是遇到一個檢視對應的路徑提供了多種不同HTTP請求方式的支援時,便需要在一個函式中編寫不同的業務邏輯,程式碼可讀性與複用性都不佳。 def register(request): """處理註冊""" # 獲取請求方

Django day05 檢視層之 (HttpRequest) \ (HttpResponse) \ (JsonResponse) 物件

一:檢視層之HttpRequest物件 # 前臺Post傳過來的資料,包裝到POST字典中 # request.POST # 前臺瀏覽器窗口裡攜帶的資料,包裝到GET字典中 # request.GET # 前臺請求的方式 # request.method # post提交的資料,body

day62 Django框架--檢視系統&路由系統

一,django內建sqlite3資料庫的使用   1.sqlite:是一種檔案資料庫,使用單獨一個檔案儲存資料   2.多用於嵌入式,該檔案中類似於Mysql也存在很多表   3.django的settings.py中預設使用的就是sqlite3,不需要再自己配置   4.pycharm連線sqli

Django - 類檢視與中介軟體

1 類檢視 1.1 類檢視引入 以函式的方式定義的檢視稱為函式檢視,函式檢視便於理解。但是遇到一個檢視對應的路徑提供了多種不同HTTP請求方式的支援時,便需要在一個函式中編寫不同的業務邏輯,程式碼可讀性與複用性都不佳。 def register(request): """處

進階剖析django通用類UpdateView(2張圖)

技術 ges roc RoCE image ima django blog 技術分享 進階剖析django通用類UpdateView(2張圖)