7. djang5 官网 polls app (关于管理员站点)

本教程从 第 6 个教程 结束的地方开始。我们将继续开发 web-poll 应用程序,并专注于自定义 Django 自动生成的管理网站,这一点我们在 第 2 个教程 中首次进行了探索。

自定义管理表单

在 polls/admin.py 中修改:

from django.contrib import admin
from .models import Questionclass QuestionAdmin(admin.ModelAdmin):fields = ["pub_date", "question_text"]
admin.site.register(Question, QuestionAdmin)

如图:
在这里插入图片描述

上述特定的更改使得“出版日期”字段出现在“问题”字段之前
启动服务器
bash python manage.py runserver
访问 http://127.0.0.1:8000/admin/polls/question/1/change/ :
在这里插入图片描述
继续修改:

from django.contrib import admin
from .models import Questionclass QuestionAdmin(admin.ModelAdmin):fieldsets = [(None, {"fields": ["question_text"]}),("Date information", {"fields": ["pub_date"]}),]
admin.site.register(Question, QuestionAdmin)

结果显示:
在这里插入图片描述
每个元组中 fieldsets 的第一个元素是字段集的标题。

添加相关对象

第一种方式:

注册 Choice

from django.contrib import admin
from .models import Choice, Question
# ...
admin.site.register(Choice)

在这里插入图片描述
访问 http://127.0.0.1:8000/admin/polls/choice/add/
结果如图:
在这里插入图片描述

第二种方式:

修改代码:

from django.contrib import admin
from .models import Choice, Questionclass ChoiceInline(admin.StackedInline):model = Choiceextra = 3
class QuestionAdmin(admin.ModelAdmin):fieldsets = [(None, {"fields": ["question_text"]}),("Date information", {"fields": ["pub_date"], "classes": ["collapse"]}),]inlines = [ChoiceInline]
admin.site.register(Question, QuestionAdmin)

再次访问http://127.0.0.1:8000/admin/polls/question/1/change/:
在这里插入图片描述
进一步优化:

from django.contrib import admin
from .models import Choice, Questionclass ChoiceInline(admin.TabularInline):model = Choiceextra = 3
class QuestionAdmin(admin.ModelAdmin):fieldsets = [(None, {"fields": ["question_text"]}),("Date information", {"fields": ["pub_date"], "classes": ["collapse"]}),]inlines = [ChoiceInline]
admin.site.register(Question, QuestionAdmin)

显示结果:

在这里插入图片描述

自定义管理更改列表

代码修改:

class QuestionAdmin(admin.ModelAdmin):# ...list_display = ["question_text", "pub_date", "was_published_recently"]

在这里插入图片描述
访问:http://127.0.0.1:8000/admin/polls/question/
修改前后变化:
在这里插入图片描述
在polls/models.py中添加代码:

from django.contrib import admin
class Question(models.Model):# ...@admin.display(boolean=True,ordering="pub_date",description="Published recently?",)def was_published_recently(self):now = timezone.now()return now - datetime.timedelta(days=1) <= self.pub_date <= now

在这里插入图片描述

在polls/models.py中添加代码:

list_filter = ["pub_date"]

在这里插入图片描述
结果:
在这里插入图片描述
添加search框,在polls/models.py中添加代码:

search_fields = ["question_text"]

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/60743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL 注入详解:原理、危害与防范措施

文章目录 一、什么是SQL注入&#xff1f;二、SQL注入的工作原理三、SQL注入的危害1. 数据泄露2. 数据篡改3. 拒绝服务4. 权限提升 四、SQL注入的类型1. 基于错误的信息泄露2. 联合查询注入3. 盲注(1). 基于布尔响应的盲注(2). 基于时间延迟的盲注 4. 基于带外的注入 五、防范SQ…

Java 8中的流API:革新集合处理的强大工具

前言 最近在编写新需求时&#xff0c;学到了一个新的处理List循环遍历的方法&#xff0c;就是使用Java中的流API来处理&#xff0c;具体如下&#xff1a; 原代码&#xff1a; List<School> list list(queryWrapper);List<Student> respList new ArrayList<…

Elasticsearch基本概念及使用

Elasticsearch 是一个开源的、分布式的全文搜索和分析引擎&#xff0c;基于 Apache Lucene 构建。它提供了快速的搜索能力&#xff0c;支持大规模的数据分析&#xff0c;广泛应用于日志分析、全文搜索、监控系统和商业智能等领域。ES操作指令是基于restAPI构建&#xff0c;也就…

无插件H5播放器EasyPlayer.js网页web无插件播放器vue和react详细介绍

EasyPlayer.js H5播放器&#xff0c;是一款能够同时支持HTTP、HTTP-FLV、HLS&#xff08;m3u8&#xff09;、WS、WEBRTC、FMP4视频直播与视频点播等多种协议&#xff0c;支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式&#xff0c;支持MSE、WASM、WebCodec等多种解码方…

高级java每日一道面试题-2024年11月06日-JVM篇-什么是 Class 文件? Class 文件主要的信息结构有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 什么是 Class 文件&#xff1f; Class 文件主要的信息结构有哪些&#xff1f; 我回答: 在 Java 中&#xff0c;.class 文件是一种二进制文件&#xff0c;包含了编译后的 Java 类或接口的信息。Java 源代码&#xff08;.java 文件&a…

React Native 全栈开发实战班 - 第四部分:用户界面进阶之动画效果实现

在移动应用中&#xff0c;动画效果 是提升用户体验的重要手段。合理的动画设计可以增强应用的交互性、流畅性和视觉吸引力。React Native 提供了多种实现动画的方式&#xff0c;包括内置的 Animated API、LayoutAnimation 以及第三方库&#xff08;如 react-native-reanimated&…

Ubuntu 的 ROS 操作系统安装与测试

引言 机器人操作系统&#xff08;ROS, Robot Operating System&#xff09;是一个用于开发机器人应用的开源框架&#xff0c;它提供了一系列功能丰富的库和工具&#xff0c;能够帮助开发者构建和控制机器人。 当前&#xff0c;ROS1的最新版本为Noetic Ninjemys&#xff0c;专为…

入门网络安全工程师要学习哪些内容(详细教程)

&#x1f91f; 基于入门网络安全/黑客打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 大家都知道网络安全行业很火&#xff0c;这个行业因为国家政策趋势正在大力发展&#xff0c;大有可为!但很多人对网络安全工程师还是不了解&#xff0c;不知道网…

IP数据云 识别和分析tor、proxy等各类型代理

在网络上使用代理&#xff08;tor、proxy、relay等&#xff09;进行访问的目的是为了规避网络的限制、隐藏真实身份或进行其他的不正当行为。 对代理进行识别和分析可以防止恶意攻击、监控和防御僵尸网络和提高防火墙效率等&#xff0c;同时也可以对用户行为进行分析&#xff…

Ubuntu24.04 network:0 unclaimed wireless adapter no found

前言&#xff1a; 所遇问题原因在于&#xff0c;折腾显卡cuda版本&#xff0c;导致nvidia驱动没了&#xff0c;使用sudo ubuntu-drivers autoinstall后&#xff0c;驱动有了&#xff0c;但是reboot后无线网卡无法识别&#xff0c;此外usb无线网络也无法使用&#xff0c;ifconfi…

【C#设计模式(10)——装饰器模式(Decorator Pattern)】

前言 装饰器模式可以在运行时为对象添加额外的功&#xff0c;而无需修改原始对象的代码。这种方式比继承更加灵活。 代码 //蛋糕类&#xff08;抽象类&#xff09; public abstract class Cake {public abstract void Create(); } //奶油蛋糕类 public class CreamCake : Cak…

【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键

基本信息 原文标题&#xff1a;Attention Is All You Need for LLM-based Code Vulnerability Localization 原文作者&#xff1a;Yue Li, Xiao Li, Hao Wu, Yue Zhang, Xiuzhen Cheng, Sheng Zhong, Fengyuan Xu 作者单位&#xff1a;National Key Laboratory for Novel So…

Windows C++ TCP/IP 两台电脑上互相传输字符串数据

在 Windows 上使用 C 实现两个进程通过 TCP/IP 协议传输字符串数据是一个非常常见的任务。我们可以利用 Windows Sockets API (winsock2) 来进行套接字编程。在下面的例子中&#xff0c;我们将演示如何通过 TCP/IP 协议传输字符串数据。这里将包括两个程序&#xff1a;一个是服…

请解释一下Python的lambda函数在应用开发中的应用场景

1、请解释一下Python的lambda函数在应用开发中的应用场景。 Python的lambda函数是一种简洁的匿名函数&#xff0c;通常用于在需要一个函数作为参数的地方。在应用开发中&#xff0c;lambda函数可以用于各种场景&#xff0c;例如&#xff1a; 过滤和映射操作&#xff1a;在处理…

python包管理工具pip和conda的使用对比

python包管理工具pip和conda的使用对比 总述1. pip使用2. conda注意虚拟环境之间的嵌套&#xff0c;这个会导致安装包后看不到包&#xff0c;实际是安装到了base环境里 未完待续 总述 pip相对于conda,对应包的依赖关系管理不强&#xff0c;坏处是容易造成包冲突&#xff0c;好…

Diff 算法的误判

起源&#xff1a; for循环的:key的值使用index绑定&#xff0c;当循环列表条目变化更新&#xff0c;导致虚拟 DOM Diff 算法认为原有项被替换&#xff0c;而不是更新。 // vue2写法 错误例子 <template><div><button click"addItem">添加项目<…

Python与其他语言比较·练习题 --- 《跟着小王学Python》

Python与其他语言比较练习题 — 《跟着小王学Python》 《跟着小王学Python》 是一套精心设计的Python学习教程&#xff0c;适合各个层次的学习者。本教程从基础语法入手&#xff0c;逐步深入到高级应用&#xff0c;以实例驱动的方式&#xff0c;帮助学习者逐步掌握Python的核心…

如何修改npm包

前言 开发中遇到一个问题&#xff0c;配置 Element Plus 自定义主题时&#xff0c;添加了 ElementPlusResolver({ importStyle: "sass" }) 后&#xff0c;控制台出现报错&#xff0c;这是因为 Dart Sass 2.0 不再支持使用 !global 来声明新变量&#xff0c;虽然当前…

[CKS] K8S RuntimeClass SetUp

最近准备花一周的时间准备CKS考试&#xff0c;在准备考试中发现有一个题目关于RuntimeClass创建和挂载的题目。 ​ 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[CKS…

如何顺利申请国际专线网络:完整指南

随着全球经济的日益融合和跨国企业数量的增加&#xff0c;国际专线网络作为高效、稳定、可靠的跨境数据传输工具&#xff0c;越来越成为企业发展不可或缺的基础设施。与传统互联网连接相比&#xff0c;国际专线网络不仅提供更高的带宽和更低的延迟&#xff0c;还能确保数据的安…