鍍金池/ 教程/ Python/ 內(nèi)建基于類的視圖的API
點擊劫持保護(hù)
安全問題歸檔
Model 類參考
將遺留數(shù)據(jù)庫整合到Django
關(guān)聯(lián)對象參考
內(nèi)建基于類的視圖的API
聚合
Django 中的用戶認(rèn)證
django.contrib.humanize
Django管理文檔生成器
分頁
使用Django輸出CSV
加密簽名
文件儲存API
安全
Django中的測試
國際化和本地化
為Django編寫首個補丁
條件表達(dá)式
日志
模型元選項
部署靜態(tài)文件
執(zhí)行查詢
使用Django認(rèn)證系統(tǒng)
基于類的視圖
中間件
編寫自定義的django-admin命令
Django 的設(shè)置
格式本地化
數(shù)據(jù)庫訪問優(yōu)化
錯誤報告
基于類的內(nèi)建通用視圖
編寫自定義存儲系統(tǒng)
編寫你的第一個 Django 程序 第3部分
編寫數(shù)據(jù)庫遷移
使用表單
編寫你的第一個 Django 程序 第2部分
編寫你的第一個 Django 程序 第1部分
如何使用會話
系統(tǒng)檢查框架
新手入門
信號
編寫視圖
如何使用WSGI 部署
編寫你的第一個Django應(yīng)用,第6部分
常見的網(wǎng)站應(yīng)用工具
Widgets
內(nèi)建的視圖
模型實例參考
視圖層
Django中的密碼管理
高級教程:如何編寫可重用的應(yīng)用
國際化和本地化
"本地特色"附加功能
TemplateResponse 和 SimpleTemplateResponse
模式編輯器
文件上傳
快速安裝指南
部署 Django
表單 API
表單素材 ( <code>Media</code> 類)
管理文件
其它核心功能
查找 API 參考
表單
Admin
數(shù)據(jù)庫函數(shù)
自定義查找
使用基于類的視圖處理表單
管理操作
開發(fā)過程
編寫你的第一個Django應(yīng)用,第5部分
進(jìn)行原始的sql查詢
模型層
多數(shù)據(jù)庫
編寫你的第一個 Django 程序 第4部分
Django安全
Django 初探
Django異常
重定向應(yīng)用
按需內(nèi)容處理
管理器
視圖裝飾器
驗證器
使用Django輸出PDF
File對象
Django 的快捷函數(shù)
基于類的通用視圖 —— 索引
為模型提供初始數(shù)據(jù)
模板層
URL調(diào)度器
中間件
模型

內(nèi)建基于類的視圖的API

基于類的視圖的API 參考。另請參見基于類的視圖 的簡介。

說明

由基于類的視圖處理的每個請求都具有一個獨立的狀態(tài);所以,在實例中保存狀態(tài)變量是安全的(例如,self.foo = 3 是線程安全的操作)。

基于類的視圖在URL 模式中的部署使用as_view() 類方法:

urlpatterns = [
    url(r'^view/$', MyView.as_view(size=42)),
]

視圖參數(shù)的線程安全性

傳遞給視圖的參數(shù)在視圖的每個實例之間共享。這表示不應(yīng)該使用列表、字典或其它可變對象作為視圖的參數(shù)。如果你真這么做而且對共享的對象做過修改,某個用戶的行為可能對后面訪問同一個視圖的用戶產(chǎn)生影響。

傳遞給as_view() 的參數(shù)將賦值給服務(wù)請求的實例。利用前面的例子,這表示對MyView的每個請求都可以使用 self.size。參數(shù)必須對應(yīng)于在類中已經(jīng)存在的屬性(hasattr 檢查可以返回True)。

基礎(chǔ)視圖 VS. 通用視圖

基于類的基礎(chǔ)視圖可以認(rèn)為是父視圖,它們可以直接使用或者繼承它們。它們不能滿足項目中所有的需求,在這種情況下有Mixin 可以擴展基礎(chǔ)視圖的功能。

Django 的通用視圖建立在基礎(chǔ)視圖之上,用于作為經(jīng)常用到的功能的快捷方式,例如顯示對象的詳細(xì)信息。它們提煉視圖開發(fā)中常見的風(fēng)格和模式并將它們抽象,這樣你可以快速編寫常見的視圖而不用重復(fù)你自己。

大部分通常視圖需要queryset 鍵 ,它是一個查詢集 實例;關(guān)于查詢集對象的更多信息,請參見執(zhí)行查詢。

譯者:Django 文檔協(xié)作翻譯小組,原文:API reference。

本文以 CC BY-NC-SA 3.0 協(xié)議發(fā)布,轉(zhuǎn)載請保留作者署名和文章出處。

Django 文檔協(xié)作翻譯小組人手緊缺,有興趣的朋友可以加入我們,完全公益性質(zhì)。交流群:467338606。