類別視圖
類別檢視
程式碼越少越好
永遠不要重複程式碼
View應只包含呈現邏輯, 不應包含業務邏輯
保持view邏輯清晰簡單
不要將CBVs用作403, 404, 500的錯誤處理程序
。 mixin簡單明了
- #Django本身提供的View永遠在最右邊
- mixin依序在上述view的左邊
- #mixin永遠繼承自Python的object類型
View 基本View 可以在任何时候使用 见后面详细介绍 RedirectView 重新定向到其他URL 将访问"/log-in/"的用户重新定向到"/login/"TemplateView 显示Django 模板 一般网站中使用模板显示的页 ListView 显示对象列表 文章列表页 DetailView 显示对象详情 文章详细页 FormView 提交From 网站联系我们或emai订阅form CreateView 创建对象 创建新文章页 UpdateView 更新对象 修改文章页 DeleteView 删除对象 删除文章页 Generic date views 显示一段时间内的对象 按时间归类的博客
#View
django.shortcuts django.views.generic state =http_method_names = [, , , , , , , dispatch(self, request, *args, **(= super(Index,self).dispatch(request, *args, **( HttpResponse( HttpResponse()
從下列視圖繼承方法與屬性
- ##django
.
views<span class="pln">.<span class="pun">generic<span class="pln">.<span class="pun">base<span class="kwd">.<span class="pun">TemplateResponseMixin<span class="pln"><span class="pun"><span class="typ"></span></span></span></span></span></span></span></span></span>
- ##django
.
views<span class="pln">.<span class="pun">generic<span class="pln">.<span class="pun">base<span class="kwd">.<span class="pun">ContextMixin<span class="pln"><span class="pun"><span class="typ"></span></span></span></span></span></span></span></span></span>
<span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="kwd"><span class="pun"><span class="pln"><span class="pun"><span class="typ"></span></span></span></span></span></span></span></span></span>
generic
.<span class="pln"><span class="pun"><span class="pln"> <span class="pun"><span class="kwd">範例<span class="pun"><span class="pln"><span class="pun"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> django.views.generic.base = dispatch(self, request, *args, **(= super(HomePageView,self).dispatch(request, *args, **( get_context_data(self, **= super(HomePageView, self).get_context_data(**] = [,,( context</pre><div class="contentsignin">登入後複製</div></div> <span class="typ"></span> </span></span></span> </span>## </span></span></span></span>
.views<span class="typ">.<span class="pun">generic<span class="pln">.<span class="pun">base<span class="pln">.<span class="pun">View</span></span></span></span></span></span>
django.views.generic.base == False query_string = True pattern_name = dispatch(self, request, *args, **(= super(ArticleRedirectView,self).dispatch(request, *args, **( get_redirect_url(self, *args, **( super(ArticleRedirectView, self).get_redirect_url(*args, **kwargs)
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">detail<span class="pun">.<span class="typ">SingleObjectTemplateResponseMixin</span></span></span></span></span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">base<span class="pun">.<span class="typ">TemplateResponseMixin</span></span></span></span></span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">detail<span class="pun">.<span class="typ">BaseDetailView</span></span></span></span></span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">detail<span class="pun">.<span class="typ">SingleObjectMixin</span></span></span></span></span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">base<span class="pun">.<span class="typ">View</span></span></span></span></span></span></span></span></span>
django.contrib.auth.mixins chouti.models == pk_url_kwarg = get_context_data(self, **(context = super(UserDetailView, self).get_context_data(**] = [33, 44]
ListView
<span class="pln">model<span class="pun">:获取这个<span class="pln">model<span class="pun">相关的所有数据</span></span></span></span>
<span class="pln">queryset<span class="pun">:从这个<span class="pln">queryset<span class="pun">中获取指定的数据。</span></span></span></span>
<span class="pln">queryset<span class="pun">的优先级高于<span class="pln">model</span></span></span>
<span class="pun">它所获取的数据是通过<span class="pln">context<span class="pun">中<span class="pln">object_list<span class="pun">这个变量来传递的</span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">list<span class="pun">.<span class="typ">MultipleObjectTemplateResponseMixin</span></span></span></span></span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">base<span class="pun">.<span class="typ">TemplateResponseMixin</span></span></span></span></span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">list<span class="pun">.<span class="typ">BaseListView</span></span></span></span></span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">generic<span class="pun">.<span class="pln">list<span class="pun">.<span class="typ">MultipleObjectMixin</span></span></span></span></span></span></span></span></span>
<span class="pln">django<span class="pun">.<span class="pln">views<span class="pun">.<span class="pln">gen</span></span></span></span></span>
blog.models django.views.generic model = Post queryset = Post.objects.filter(title__contains = ) context_object_name = template_name= ( Post.objects.filter(title__contains = self.kwargs[ get_context_data(self, **(= super(PublisherList, self).get_context_data(**kwargs) context[] = [, ] context
以上是類別視圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

iOS17中的Apple正在引入待機模式,這是一種新的顯示體驗,專為水平方向的充電iPhone而設計。處於這個位置的iPhone能夠顯示一系列全螢幕小部件,將其變成一個有用的家庭中心。待機模式會在水平放置在充電器上執行iOS17的iPhone上自動啟動。您可以查看時間、天氣、日曆、音樂控制、照片等資訊。您可以透過可用的待機選項向左或向右滑動,然後長按或向上/向下滑動以進行自訂。例如,隨著時間的流逝,您可以從類比視圖、數位視圖、氣泡字體和日光視圖中進行選擇,其中背景顏色會根據時間而變化。有一些選項

在許多Web應用程式中,表格是必不可少的一個元件。表格通常具有大量數據,因此表格需要一些特定的功能來提高使用者體驗。其中一個重要的功能是可編輯性。在本文中,我們將探討如何使用Vue.js實作可編輯的表格,並提供具體的程式碼範例。步驟1:準備資料首先,我們需要為表格準備資料。我們可以使用JSON物件來儲存表格的數據,並將其儲存在Vue實例的data屬性中。在本例中

對比SpringBoot與SpringMVC,了解它們的差異隨著Java開發的不斷發展,Spring框架已經成為了許多開發人員和企業的首選。在Spring的生態系中,SpringBoot和SpringMVC是兩個非常重要的組件。雖然它們都是基於Spring框架的,但在功能和使用方式上卻有一些區別。本文將聚焦在SpringBoot與Sprin

PHP是一種非常流行的程式語言,而CodeIgniter4是一種常用的PHP框架。在開發Web應用程式時,使用框架是非常有幫助的,它可以加速開發過程、提高程式碼品質、降低維護成本。本文將介紹如何使用CodeIgniter4框架。安裝CodeIgniter4框架CodeIgniter4框架可以從官方網站(https://codeigniter.com/)下載。下

Laravel是目前最受歡迎的PHP框架之一,其強大的視圖生成能力是令人印象深刻的一點。視圖是Web應用程式中展示給使用者的頁面或視覺元素,其中包含HTML、CSS和JavaScript等程式碼。 LaravelView允許開發者使用結構化的模板語言來建立網頁,同時透過控制器和路由產生相應的視圖。在本文中,我們將探討如何使用LaravelView產生視圖。一、什

我猜想,很多同學都想學習word的排版技巧,但小編偷偷告訴大家,在學習排版技巧之前需要先了解清楚word視圖,在Word2007中提供了5種視圖供用戶選擇,這5種視圖包括頁面視圖、閱讀版視圖、Web版視圖、大綱視圖和普通視圖,今天就和小編了解這5種word視圖吧。 1.頁面視圖頁面視圖可以顯示Word2007文件的列印結果外觀,主要包括頁首、頁尾、圖形物件、分欄設定、頁面邊距等元素,是最接近列印結果的頁面視圖。 2.閱讀版視圖閱讀版視圖以圖書的分欄樣式顯示Word2007文檔,Office

Django是一個高度可自訂的網路框架,它提供了許多方便的工具和程式庫,來幫助開發者快速創建高效能的、可擴展的網路應用程式。其中,視圖是Django框架中最重要的組成部分之一。視圖負責處理來自客戶端的請求,並傳回相應的回應。在本文中,我們將深入探討Django框架中的視圖,並介紹如何使用它來創建高效能、可自訂的網路應用程式。一、視圖的基本概念在Django

微軟近日推出了VisualStudioCode1.80,雖然本次更新於7月發布,官方仍將其稱為6月更新。在用戶安裝本次更新之後,內建終端可以直接顯示圖片,此外還優化了輔助功能。 VisualStudioCode先前發布的預覽版中,已支援在終端機中支援影像,而在新的1.80版本中預設為啟用狀態。為了能夠在終端中可以顯示圖像,圖像像素資料再透過特殊的轉義序列轉換為文本,最終寫入終端。如果要將典型的PNG,GIF或JPEG檔案傳遞到終端,則需要安裝imgcatpython軟體包,然後在終端中執行imgc
