一周學會Django5 Python Web開發-Django5詳細視圖DetailView

鋒哥原創的Python Web開發 Django5視頻教程:

2024版 Django5 Python web開發 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili2024版 Django5 Python web開發 視頻教程(無廢話版) 玩命更新中~共計28條視頻,包括:2024版 Django5 Python web開發 視頻教程(無廢話版) 玩命更新中~、第2講 Django5安裝、第3講 Django5創建項目(用命令方式)等,UP主更多精彩視頻,請關注UP賬號。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/DetailView多用于展示某一個具體數據對象的詳細信息的頁面。

使用DetailView,你只需要指定要使用的模型和對象的唯一標識符,并可以自定義其他一些屬性,例如模型名稱、模板名稱、上下文數據等。

以下是DetailView的一些常見屬性和方法:

  • model:指定要使用的模型。

  • queryset:指定要使用的查詢集,用于獲取對象。如果未指定,則將使用模型的默認查詢集。

  • pk_url_kwarg:指定URL中用于獲取對象的唯一標識符的參數名稱,默認為’pk’。

  • context_object_name:指定將對象傳遞給模板時的上下文變量名稱,默認為’model’。

  • template_name:指定要使用的模板的名稱。

  • get_object(queryset=None):獲取要展示的對象。可以重寫這個方法來自定義獲取對象的邏輯。

  • get_context_data(kwargs):返回要傳遞給模板的上下文數據。你可以重寫這個方法來自定義上下文數據。

  • get():處理GET請求的方法,根據配置的對象獲取規則執行對象獲取和展示邏輯。

  • dispatch(request, *args, **kwargs):處理請求的入口方法,根據請求的不同方法(GET、POST等)執行相應的處理邏輯。

通過繼承DetailView,并根據自己的需求重寫這些方法,你可以創建自定義的展示單個對象詳細信息的視圖,并實現你想要的功能。

總之,DetailView是Django框架中的一個便捷的通用視圖,用于展示單個對象的詳細信息,并提供了一些有用的屬性和方法來簡化對象展示邏輯。

通過重新設置model屬性來指定需要獲取的Model類,默認對象名稱為object,也可以通過重新設置context_object_name屬性來更改這個名字。

下面我們通過實例來體驗下吧:

views.py里新建Detail,繼承DetailView

class Detail(DetailView):# 設置模版文件template_name = 'student/detail.html'# 設置模型外的數據extra_context = {'title': '學生信息詳情'}# 設置查詢模型model = StudentInfo# 設置上下文對象名稱context_object_name = 'student'# 指定URL中用于獲取對象的唯一標識符的參數名稱,默認為’pk’。# pk_url_kwarg = 'id'

templates下的student目錄下新建detail.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>{{ title }}</title>
</head>
<body>
<h3>{{ title }}</h3>
編號:{{ student.id }}<br/>
姓名:{{ student.name }}<br/>
年齡:{{ student.age }}
</body>
</html>

urls.py里加一個映射:

    path('student/<int:pk>', helloWorld.views.Detail.as_view()),

list.html里,加一個操作項-查看詳情:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>{{ title }}</title>
</head>
<body>
<h3>{{ title }}</h3>
<table border="1"><tr><th>編號</th><th>姓名</th><th>年齡</th><th>操作</th></tr>{% for student in student_list %}<tr><td>{{ student.id }}</td><td>{{ student.name }}</td><td>{{ student.age }}</td><td><a href="/student/{{ student.id }}">查看詳情</a></td></tr>{% endfor %}
</table>
<br>
{% if is_paginated %}{% if page_obj.has_previous %}<a href="/student/list?page={{ page_obj.previous_page_number }}">上一頁</a>{% endif %}{% for current in paginator.page_range %}{% if current == page_obj.number %}<a href="/student/list?page={{ current }}"><b><font color="blue">{{ current }}</font></b></a>{% else %}<a href="/student/list?page={{ current }}">{{ current }}</a>{% endif %}{% endfor %}{% if page_obj.has_next %}<a href="/student/list?page={{ page_obj.next_page_number }}">下一頁</a>{% endif %}
{% endif %}
</body>
</html>

運行測試,瀏覽器輸入:http://127.0.0.1:8000/student/list,點擊“查看詳情”

即可查詢出學生詳情;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716220.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716220.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716220.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue+element模仿實現云碼自動驗證碼識別平臺官網

一、項目介紹 項目使用傳統vue項目結構實現&#xff0c;前端采用element實現。 element官網&#xff1a;Element - The worlds most popular Vue UI framework 云碼官網地址&#xff1a;云碼-自動驗證碼識別平臺_驗證碼識別API接口_免費驗證碼軟件 項目截圖&#xff0c;支持…

ios csr 證書創建

蘋果Certificate證書創建 1.開始創建。 登錄蘋果開發者網站 選擇Certificates旁邊的 ?按鈕 選擇你想要的證書類型&#xff0c;手機開發的話一般是iOS APP Development 跟 iOS Distribution&#xff08;App Store and Ad Hoc&#xff09;&#xff0c;如果要Mac和iOS都可以發…

NCT 全國青少年編程圖形化編程(Scratch)等級考試(一級)模擬測試H

202312 青少年軟件編程等級考試Scratch一級真題 第 1 題 【 單選題 】 以下說法合理的是( ) A :隨意點開不明來源的郵件 B :把密碼設置成 abc123 C :在虛擬社區上可以辱罵他人 D :在改編他人的作品前&#xff0c; 先征得他人同意 正確答案&#xff1a; D 試題解析&…

C# aes加密解密byte數組

using System.Security.Cryptography; using System.Text;namespace AESStu01;public class AesHelper {// AES加密密鑰和向量&#xff08;需要保密&#xff09; private static readonly string Key "";//16長度字符串數字混合private static readonly string IV …

LeetCode--42

42. 接雨水 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖&#xff0c;計算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 輸入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 輸出&#xff1a;6 解釋&#xff1a;上面是由數組 [0,1,0,2,1,0,1,…

PackagingTool_x64_v2.0.1.0圖片轉檔打包二進制文件合并字庫生成圖片軟件介紹

繼去年12月份發布的打包軟件PackagingTool v1.4.0.2之后&#xff0c;今年再度投入精力&#xff0c;完善了軟件功能&#xff0c;同時開發了幾個更加實用的工具&#xff0c;可助力UI界面的設計開發。當前最新版本為PackagingTool_x64_v2.0.1.0&#xff0c;該版本主界面如下&#…

Windows操作系統中各種功能、快捷鍵

目錄 引言一、系統1.任務管理器&#xff08;當前進程屬性&#xff09;2.畫圖板3.計算器4.CMD命令行窗口5.控制面板6.記事本7.寫字板 二、瀏覽器1.打開開發者工具2.頁面搜索 三、AcWing1.替換2.對多處進行相同操作3.光標變為下劃線 引言 由于本專業是計算機專業&#xff0c;所以…

Spring Cloud中,Eureka常見問題總結

Spring Cloud中&#xff0c;Eureka常見問題總結。 指定Eureka的Environment 1eureka.environment: 指定環境參考文檔&#xff1a;Configuring Eureka Netflix/eureka Wiki GitHub 指定Eureka的DataCenter 1eureka.datacenter: 指定數據中心參考文檔&#xff1a;Configuring …

SpringBoot:Invalid bound statement (not found)的原因和解決方案

&#x1f413; 報錯信息&#xff1a; &#xff08;無效綁定聲明&#xff09;找不到 解析&#xff1a; 你的mapper實例對象和對應的mapper.xml對象未找到 &#x1f413; 排查&#xff1a; 情況一&#xff1a; 1.排除相對應的mapper實例對象路徑是否正確 查看相對應的mapper中…

unity3d中單例模式兩種簡單寫法與對比

一、 public class UlManager {private static UlManager instance;private void Awake(){if(instance ! null)Destroy(this);else instance this;} }二、 public class UlManager {private static UlManager instance;public static UlManager Instance{get{if (instance …

ChatGPT聊YOLO

最近ChatGPT大伙&#xff0c;其概括摘要能力非常強。YOLO系列算法也是目標檢測領域非常重要的一個研究路線&#xff0c;那么ChatGPT是如何看待各個YOLO算法的呢&#xff1f;那我們去問問它如何看待各個版本的YOLO。 截止到2021年9月&#xff0c;YOLOv6尚未發布。因此&#xff0…

類復習【C#】

【訪問級別】【修飾】【返回類型】 類名 : 【被繼承類】【被繼承接口】 { 字段&#xff1b; 屬性&#xff1b; 默認構造器&#xff1b;// 無參構造器 有參構造器&#xff1b; 私有方法&#xff1b; public 公共方法&#xff1b; } 修飾&#xff1a; 修飾符【C#】-CSDN…

pycharm實現上傳excel生成word

下載需要的依賴包 pip install openpyxl python-docx flaskmain.py文件 from flask import Flask, request, render_template from openpyxl import load_workbook from docx import Documentapp Flask(__name__, template_foldertemplates)app.route(/) def index():return…

小程序面試題:js、vue、uni、小程序的頁面傳參方式區別

js、vue、uni、小程序的頁面傳參方式區別&#xff1f; 1、 js傳參 通過location.href跳轉傳參和接收參數&#xff0c;url后面拼接參數來進行跳轉傳參。 2、 vue傳參 可以通過標簽router-link的to屬性跳轉傳參&#xff0c;也可以通過事件里的this.$router.push跳轉傳參。傳參有…

寒假作業Day 03

寒假作業Day 03 一、選擇題 在C語言中&#xff0c;字符型指針char *p;通常用于指向字符數組&#xff08;即字符串&#xff09;的首字符。對于給定的選項&#xff0c;我們來分析每一個選項是否可以將字符串正確地賦值給p&#xff1a; A: pgetchar(); getchar()函數從標準輸入讀…

K8S—Pod控制器

目錄 1.什么是POD控制器 2.POD控制器有幾種類型 3.POD與控制器之間的關系 4.示例 4.1 Deployment 4.2 SatefulSet ①為什么要有headless&#xff1f; ②為什么要有volumeClainTemplate&#xff1f; ③服務發現&#xff1a;就是應用服務之間相互定位的過程。 ④K8S里服…

圖的簡單介紹

定義及術語 G(V,E)&#xff1a;圖G的頂點集為V&#xff0c;邊集為E。分為有向圖和無向圖兩類。 頂點的度&#xff1a;與該結點相連的邊的條數。 出度&#xff1a;頂點的出邊條數 入度&#xff1a;頂點的入邊條數 頂點的權值稱為點權&#xff0c;邊的權值稱為邊權。 存儲 1.鄰…

SpringCache【緩存接口返回值信息】【前端訪問后端,后端訪問數據庫(可以緩存這個過程,前端訪問后端,保存記錄,下次訪問直接返回之前的數據)】

SpringCache 針對不同的緩存技術需要實現不同的CacheManager&#xff1a;注解入門程序CachePut注解CacheEvict注解Cacheable注解 Spring Cache是一個框架&#xff0c;實現了基于注解的緩存功能&#xff0c;只需要簡單地加一個注解&#xff0c;就能實現緩存功能&#xff0c;大大…

Mongodb基礎(node.js版)

一、Mongodb 介紹 Mongodb 是一個文檔數據庫&#xff0c;以文檔形式存儲數據&#xff0c;格式類似于 JSON 與 Mysql 的特點及選型對照 MongodbMysql關系類型非關系型關系型存儲類型文檔存儲&#xff08;類似于寫 Word &#xff09;表格存儲 &#xff08;類似于寫 Excle&…

Java玩轉《啊哈算法》之模擬鏈表

人應該支配習慣&#xff0c;而絕不是讓習慣支配人。一個人要是不能改掉壞習慣&#xff0c;那么他就一文不值。 目錄 緣代碼地址模擬鏈表創建遍歷打印插入插入優化 完整代碼 緣 各位小伙伴們好呀&#xff01;本人最近看了下《啊哈算法》&#xff0c;寫的確實不錯。 但稍顯遺憾…