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.rhkb.cn/news/170087.html

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

相关文章

Mysql如何理解Sql语句?MySql分析器

1. 什么是 MySQL 分析器? MySQL 分析器是 MySQL 数据库系统中的一个关键组件&#xff0c;它负责解析 SQL 查询语句&#xff0c;确定如何执行这些查询&#xff0c;并生成查询执行计划。分析器将 SQL 语句转换为内部数据结构&#xff0c;以便 MySQL 可以理解和执行查询请求。 …

全是干货!2023年双十一买什么最划算、双十一值得买的好物推荐

在双十一前选购到好物&#xff0c;打败99.99%的人&#xff01;看了下日历马上就要到一年一度的购物节了&#xff0c;双十一都想好买什么了吗朋友们&#xff1f;双十一购物狂欢即将来临&#xff0c;你是否已经开始准备购买自己心仪的商品&#xff1f;在这个购物狂欢节中&#xf…

【算法小课堂】深入理解前缀和算法

前缀和是指某序列的前n项和&#xff0c;可以把它理解为数学上的数列的前n项和&#xff0c;而差分可以看成前缀和的逆运算。合理的使用前缀和与差分&#xff0c;可以将某些复杂的问题简单化。 我们通过一个例子来理解前缀和算法的优势&#xff1a; 一维前缀和&#xff1a; ww…

Unity Spine 指定导入新Spine动画的默认材质

指定导入新Spine动画的默认材质 找到Spine的Editor导入配置如何修改方法一: 你可以通过脚本 去修改Assets/Editor/SpineSettings.asset文件方法二&#xff1a;通过面板手动设置 找到Spine的Editor导入配置 通常在 Assets/Editor/SpineSettings.asset 配置文件对应着 Edit/Prefe…

2018年亚太杯APMCM数学建模大赛B题人才与城市发展求解全过程文档及程序

2018年亚太杯APMCM数学建模大赛 B题 人才与城市发展 原题再现 招贤纳士是过去几年来许多城市的亮点之一。北京、上海、武汉、成都、西安、深圳&#xff0c;实际上都在用各种吸引人的政策来争夺人才。人才代表着城市创新发展的动力&#xff0c;因为他们能够在更短的时间内学习…

Zip密码忘记了,如何破解密码?

Zip压缩包设置了密码&#xff0c;解压的时候就需要输入正确对密码才能顺利解压出文件&#xff0c;正常当我们解压文件或者删除密码的时候&#xff0c;虽然方法多&#xff0c;但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么&#xff0c;忘记了zip压缩包的密…

Linux部署Redis哨兵集群 一主两从三哨兵(这里使用Redis6,其它版本类似)

目录 一、哨兵集群架构介绍二、下载安装Redis2.1、选择需要安装的Redis版本2.2、下载并解压Redis2.3、编译安装Redis 三、搭建Redis一主两从集群3.1、准备配置文件3.1.1、准备主节点6379配置文件3.1.2、准备从节点6380配置文件3.1.3、准备从节点6381配置文件 3.2、启动Redis主从…

Windows vs2015下编译curlpp

1. 首先分别下载curl库和curlcpp库 curl下载链接 我下载的这个: curcpp下载链接 这里我下载的 curlpp-0.8.1 版本 下载可能较慢,自己想办法了。先将 curlpp-0.8.1.zip 解压,并重命名为 curlpp,将 curl-8.4.0.zip 解压并重命名为 curl,然后将 curl 文件夹拷贝到 curlpp 文…

配置VUE环境过程中 npm报错的处理方案以及VUE环境搭建过程

背景&#xff1a;VUE已经出来很久了&#xff0c;一直想研究这个东西也很久了。由于各种各样的原因&#xff0c;一直没有能处理。最近终于有时间可以研究了。 奈何报错了 嘤嘤嘤~~ 针对报错情况&#xff0c;其实后来没有找到什么好的方案&#xff0c;几经周折&#xff0c;终于搭…

Kong:高性能、插件化的云原生 API 网关 | 开源日报 No.62

Kong/kong Stars: 35.2k License: Apache-2.0 Kong 是一款云原生、平台无关且可扩展的 API 网关。它以高性能和插件化的方式脱颖而出&#xff0c;提供了代理、路由、负载均衡、健康检查和认证等功能&#xff0c;并成为编排微服务或传统 API 流量的中心层。 以下是 Kong 的核心…

小样本学习(2)--LibFewShot使用

目录 一、LibFewShot安装 1、LibFewShot代码仓库 2、配置环境 3、测试安装是否正确 二、LibFewShot结构 1、config文件夹 2、core文件夹 3、reproduce文件夹 4、results文件夹 三、如何训练自己的数据集 1、调用主配置文件 2、修改主配置文件 一、LibFewShot安装…

如何在两个月内学会Python编程?——最佳学习计划指南

Python编程已经成为互联网时代最重要的技能之一&#xff0c;不仅对编程新手&#xff0c;对于从事数据科学、网站开发和自动化任务的专业人士也是必备的技能。你是否想要学习Python编程&#xff0c;但不知道如何安排时间和方法&#xff1f;你是否担心学习过程太长、太枯燥、太难…

Rocksdb LSM Tree Compaction策略

RocksDB读写简介 直接画图说明。这张图取自Flink PMC大佬Stefan Richter在Flink Forward 2018演讲的PPT&#xff0c;笔者重画了一下。 RocksDB的写缓存&#xff08;即LSM树的最低一级&#xff09;名为memtable&#xff0c;对应HBase的MemStore&#xff1b;读缓存名为block cac…

uview 1 uni-app表单 number digit 的输入框有初始化赋值后,但是校验失败

背景&#xff1a; 在onReady初始化规则 onReady() { this.$refs.uForm.setRules(this.rules); }, 同时&#xff1a;ref,model,rules,props都要配置好。 报错 当input框限定type为number&#xff0c;digit类型有初始值不做修改动作,直接提交会报错&#xff0c;验…

越流行的大语言模型越不安全

源自&#xff1a;GoUpSec “人工智能技术与咨询” 发布 安全研究人员用OpenSSF记分卡对GitHub上50个最流行的生成式AI大语言模型项目的安全性进行了评估&#xff0c;结果发现越流行的大语言模型越危险。 近日&#xff0c;安全研究人员用OpenSSF记分卡对GitHub上50个最流…

新华三路由器+华为交换机,实现华为交换机指定端口访问外网

需求背景&#xff1a; 多台服务器使用华为交换机组建了局域网&#xff0c;需要让交换机的指定端口可以访问外网。 需求分析&#xff1a; 交换机组建的局域网是二层组网&#xff0c;需借助路由器接入外网&#xff0c;然后通过DHCP分配内网IP地址给交换机指定端口连接的设备。 …

【M365运维】给从本地同步到O365的DL添加 Send As权限

【问题】在一个混合部署的M365环境里&#xff0c;邮件系统已经从本地迁移到O365&#xff0c;相关的AD用户、AD 组等账号数据也都同步到了Azure AD。用户提出要求想为一个DL 添加 Send As 权限。 由于DL是从本地迁移到O365的&#xff0c;在O365的Exchange 管理中心里进行设置时…

数据结构,及分类(存储分类、逻辑分类)介绍

一、数据结构&#xff1a; 数据是软件开发的核心。在软件开发过程中基本上就是对数据的新增、删除、修改、查看的操作。 如何合理存储数据&#xff0c;如何有效提升数据操作开发效率&#xff0c;都是软件开发中的重中之重。使用合理的数据结构是非常重要的。 1.1简介&#xff…

[蓝桥杯-610]分数

题面 解答 这一题如果不知道数论结论的话&#xff0c;做这个题会有两种天壤之别的体验 此题包含以下两个数论知识 1. 2^02^12^2...2^(n-1)2^n-1 2. 较大的数如果比较小的数的两倍大1或者小1&#xff0c;则两者互质 所以答案就是2^n-1/2^(n-1) 标程1 我的初次解答 #in…

损失函数总结(三):BCELoss、CrossEntropyLoss

损失函数总结&#xff08;三&#xff09;&#xff1a;BCELoss、CrossEntropyLoss 1 引言2 损失函数2.1 BCELoss2.2 CrossEntropyLoss 3 总结 1 引言 在前面的文章中已经介绍了介绍了一系列损失函数 (L1Loss、MSELoss)。在这篇文章中&#xff0c;会接着上文提到的众多损失函数继…