django建站过程(3)定义模型与管理页

定义模型与管理页

    • 定义模型[models.py]
    • 迁移模型
    • 向管理注册模型[admin.py]
      • 注册模型使用Admin.site.register(模型名)
      • 修改Django后台管理的名称
      • 定义管理列表页面
      • 应用名称修改
      • 管理列表添加查询功能
    • django shell
      • 交互式shell会话
    • 认证和授权

定义模型[models.py]

模仿博客形式,模块暂定义【(标题、作者、时间、正文),(主题类型)】

from django.db import models# Create your models here.
class topic(models.Model):'''定义文稿的主题类型'''text=models.CharField(max_length=200)date_added=models.DateTimeField(auto_now_add=True)class Meta:verbose_name='主题类型'		#数据库表的名称显示verbose_name_plural='主题集合'		#数据库表的名称集显示def __str__(self):return self.textclass  documentes(models.Model):'''定义文档的结构'''topic=models.ForeignKey(topic,on_delete=models.CASCADE)title=models.CharField(max_length=30)date_added=models.DateTimeField(auto_now_add=True)author=models.CharField(max_length=20)text=models.TextField()class Meta:verbose_name='文档'		#数据库表的名称显示verbose_name_plural='文档集合'		#数据库表的名称集显示def __str__(self):return self.title

对应后台显示:

image-20231024122329678

迁移模型

对 app_name调用makemigrations(执行Python manage.py makemigrations命令)

让django迁移项目migrate(执行Python manage.py migrate命令)

Python manage.py makemigrations
Python manage.py migrate

image-20231019121839334

在生成的文件0001_initial.py中,可以看到数据库的修改

image-20231019122206923

向管理注册模型[admin.py]

注册模型使用Admin.site.register(模型名)

from django.contrib import adminfrom baseapps.models import topic,documentes# Register your models here.admin.site.register(topic)
admin.site.register(documentes)

进入后台(http://127.0.0.1:8000/admin/),我们可以看到下图

image-20231019122433545

修改Django后台管理的名称

admin.site.site_header = '校园管理系统后台'
admin.site.site_title = '校园管理系统'
admin.site.index_title = '管理首页'

页面显示位置为:

image-20231024110741669

定义管理列表页面

修改类docAdmin

class docAdmin(admin.ModelAdmin):list_display = ('title','author','date_added',)     # ModelAdmin列表页展示的字段名admin.site.register(documentes,docAdmin)   # docAdmin只有注册后才能使用

管理列表页变成:

image-20231024111318655

应用名称修改

  • 修改apps.py文件,添加以下内容:verbose_name=u’名称’
verbose_name = u'文章展示'  # 定义应用的名称
  • 修改__init__.py文件,添加以下内容(也可不添加)
default_app_config = "baseapps.apps.BaseappsConfig"

image-20231024121153235

管理列表添加查询功能

在admin.py对应的类中,添加search_fields = (‘查询对应的字段名’,)

class docAdmin(admin.ModelAdmin):list_display = ('title','author','date_added',)     # ModelAdmin列表页展示的字段名search_fields = ('title','author',)      #添加“标题”与“作者”的查询

image-20231024123023506

django shell

输入一些模拟数据,查看效果

image-20231019123907456

image-20231019123933160

输入两条数据条目后,我们得到

image-20231019124030816

交互式shell会话

python manage.py shell启动一个python解释器,通过它我们导入模型,使用object.all()来获取所有实例,返回的查询集(queryset)。

(schoolapps) E:\djangoProject\schoolapps>python manage.py shell
Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from baseapps.models import topic
>>> topic.objects.all()
<QuerySet [<topic: 资讯>, <topic: 活动>]>
>>> from baseapps.models import documentes
>>> documentes.objects.all()
<QuerySet [<documentes: 开放、选择、信任>, <documentes: 与创新者同行>]>
>>> n=topic.objects.get(id=1)
>>> n.text
'资讯'
>>> n.date_added
datetime.datetime(2023, 10, 19, 4, 15, 5, 840186, tzinfo=datetime.timezone.utc)
>>>

附:每次修改模型后,需要重启shell,才能看到修改的效果,退出快捷键“ctrl+Z”

认证和授权

后台设置用户与组的权限,用户必须设置为工作人员状态才能登录

image-20231024123250837

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

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

相关文章

Vue源码总结

1&#xff0c;根据vue工程package.json配置文件查看scripts命令&#xff0c;找到build命令执行的js文件 2&#xff0c;根据构建执行的js文件继续跟进&#xff0c;找到主入口文件 3&#xff0c;从主入口文件直接分析主干代码&#xff0c;追踪export的Vue对象 4&#xff0c;跟…

MINA架构DEMO

参考&#xff1a;Java中的MINA框架_java mina_小陈拾光的博客-CSDN博客 MINA&#xff1a;一个简洁易用的基于TCP/IP通信的JAVA框架。 <dependency><groupId>org.apache.mina</groupId><artifactId>mina-core</artifactId><version>2.1.5&…

学习笔记:概率期望

概率 & 期望 样本空间、随机事件 定义 一个随机现象中可能发生的不能再细分的结果被称为 样本点。所有样本点的集合称为 样本空间&#xff0c;通常用 Ω \Omega Ω 来表示。 一个 随机事件 是样本空间 Ω \Omega Ω 的子集&#xff0c;它由若干样本点构成&#xff0c…

minio + linux + docker + spring boot实现文件上传与下载

minio docker spring boot实现文件上传与下载 1.在linux上安装并启动docker2.在docker中拉取minio并启动3.Spring Boot 整合 minio4.测试 minio 文件上传、下载及图片预览等功能 1.在linux上安装并启动docker 检查linux内核&#xff0c;必须是3.10以上 uname ‐r安装docker…

LiveGBS流媒体平台GB/T28181常见问题-海康大华宇视硬件NVR摄像头通道0未获取到视频通道如何排查如何抓包分析

LiveGBS常见问题海康大华宇视硬件NVR摄像头通道0未获取到视频通道如何排查如何抓包分析&#xff1f; 1、硬件NVR配置接入示例2、通道数为0处置2.1、判断信令是否畅通2.1.1、点击更新通道2.1.2、有成功提示2.1.2.1、确认设备的视频通道编码是否填写2.1.2.2、确认是否超过授权数目…

linux 音视频架构 linux音视频开发

linux 音视频架构 linux音视频开发 转载 mob6454cc65110a 2023-07-26 22:27:01 文章标签 linux 音视频架构 ci QT 视频教程 文章分类 架构 后端开发 阅读数117 目录 前言1、软件工具准备a. 录音软件b. 录屏软件c. 摄像头软件d. 安卓屏幕操作软件e. 视频剪辑软件2、视频教…

Mask Free VIS笔记(CVPR2023 不需要mask标注的实例分割)

paper: Mask-Free Video Instance Segmentation github 一般模型学instance segmentation都是要有mask标注的&#xff0c; 不过mask标注既耗时又枯燥&#xff0c;所以paper中仅用目标框的标注来实现实例分割。 主要针对视频的实例分割。 之前也有box-supervised实例分割&…

2023年集成电路还缺人吗?集成电路产业人才供需研讨会

10月20日&#xff0c;移知教育创始人团长受邀参与由ARM举办的《集成电路产业人才供需研讨会》&#xff0c;同样受邀参与的还有上海大学、华东理工大学、华东师范大学、上海工程技术大学、上海人社高级职称评审专家等等&#xff0c;高校负责人以及行业专家应邀参加了本次研讨会。…

ardupilot开发 --- CAN BUS、DroneCAN 、UAVCAN 篇

1. CAN BUS、DroneCAN 、UAVCAN 区别 UAVCAN是一种轻量级协议&#xff0c;旨在通过CAN BUS 在航空航天和机器人应用中实现可靠通信。 UAVCAN网络是分散的对等网络&#xff0c;其中每个对等体&#xff08;节点&#xff09;具有唯一的数字标识符 - 节点ID&#xff0c;并且仅需要…

Hadoop3.0大数据处理学习3(MapReduce原理分析、日志归集、序列化机制、Yarn资源调度器)

MapReduce原理分析 什么是MapReduce 前言&#xff1a;如果想知道一堆牌中有多少张红桃&#xff0c;直接的方式是一张张的检查&#xff0c;并数出有多少张红桃。 而MapReduce的方法是&#xff0c;给所有的节点分配这堆牌&#xff0c;让每个节点计算自己手中有几张是红桃&#…

简历涉及的面试问题

目录 第一章、技术栈1.0&#xff09;集合框架等基础1、arraylist &#xff0c;linkedlist的区别&#xff0c;为啥集合有的快有的慢2、字符串倒叙输出3、讲一下Java的集合框架4、定义一下线程安全的map&#xff0c;有哪些方法5、equals比较问题6、hashtable和hashmap的区别7、8、…

Python的无限魅力:探索其广泛应用领域

Python的无限魅力&#xff1a;探索其广泛应用领域 前言第一&#xff1a;Python的多领域应用第二&#xff1a;Python在数据科学中的作用第三&#xff1a;python的web开发能力第四&#xff1a;Python在自动化和任务自动化中的应用第五&#xff1a;科学计算和数值分析第六&#xf…

伦敦银条有多大投资价值?

伦敦银本来是指存放在伦敦地下金库的实物白银银条&#xff0c;这个市场上银条的标准规格为1000金衡盎司。但随着信息科技技术的进步以及贵金属市场的发展&#xff0c;现在的伦敦银交易已经完全实现了电子化。 在当今的贵金属投资市场&#xff0c; 伦敦银的交易网络已经遍布全球…

Google单元测试sample分析(二)

本文开始介绍googletest/googletest/sample/sample5_unittest.cc 有关TEST_F测试夹具的使用案例 class QuickTest : public testing::Test {protected:// Remember that SetUp() is run immediately before a test starts.// This is a good place to record the start time.v…

LIO-SAM算法解析

文章目录 简介算法概述1.点云去畸变1.1 主要功能1.2 主要流程 2.特征提取3.IMU预积分4.地图优化5.算法评估 简介 LIO-SAM在lego-loam的基础上新增了对IMU和GPS的紧耦合&#xff0c;采用一个因子图对位姿进行优化&#xff0c;包括IMU因子&#xff0c;激光里程计因子&#xff0c…

打破尺寸记录!荷兰QuTech研发16量子点阵列新技术

承载16个量子点交叉条阵列的量子芯片&#xff0c;可无缝集成到棋盘图案&#xff08;图片来源&#xff1a;网络&#xff09; 由荷兰代尔夫特理工大学(TU Delft)和荷兰应用科学研究组织(TNO)组建的荷兰量子计算研究中心QuTech的研究人员开发了一种用相对较少的控制线来控制大量量…

css正确的语法

Cascading Style Sheets (CSS) 是一种用于定义网页元素外观和样式的标记语言。以下是正确的 CSS 语法要点&#xff1a; 选择器 (Selector): 选择器用于指定要应用样式的 HTML 元素。例如&#xff0c;选择器可以是标签名、类名、ID、属性等。例如&#xff1a; 标签名选择器&…

Git(四)底层命令:git对象、树对象、提交对象

目录 一、知识回顾1.1 Linux 基础命令1.2 .git 文件夹解析 二、git 对象&#xff08;数据对象&#xff09;2.1 hash-object 存储对象2.2 cat-file 查看对象 三、树对象3.1 ls-files 查看暂存区3.2 update-index 创建暂存区3.3 write-tree 生成树对象3.4 更新暂存区&#xff0c;…

RocketMQ学习笔记(一)

RocketMQ学习笔记 消息中间件应用场景 应用解耦削峰填谷数据分发 常见的消息中间件 ActiveMQ&#xff1a;Apache出品&#xff0c;比较老的一个开源的消息中间件&#xff0c;以前在中小企业应用广泛Kafka&#xff1a;Apache软件基金会开发的一个开源流处理平台&#xff0c;由…

基于Java的电影院订票管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…