Django实现音乐网站 ⑵

使用Python Django框架制作一个音乐网站,在系列文章1的基础上继续开发,本篇主要是后台歌手表模块开发。

 

目录

表结构设计

歌手表(singer)结构

创建表模型

设置图片上传路径

创建上传文件目录

生成表迁移

执行创建表

后台管理表模型

歌手表模型操作

新增

编辑、删除

优化歌手记录列表

总结


表结构设计

歌手表(singer)结构

字段

类型

注释

id

int(11)

歌手表id

name

varchar(50)

用户名

pinyin

varchar(50)

名称拼音

portrait

varchar(200)

头像链接

first_letter

varchar(15)

名称首字母

gender

tinyint(2)

性别0女 1男

birthday

varchar(20)

生日

height

int(4)

身高(cm)

weight

int(3)

体重(kg)

constellation

varchar(50)

星座

single_num

int(11)

单曲数

album_num

int(11)

专辑数

desc

text(0)

简介

addtime

int(11)

添加时间

updatetime

int(11)

编辑时间

创建表模型

在player工程目录下的models.py中创建歌手表模型。

内容如下:

from django.db import models
from datetime import date, datetime# Create your models here.
class Singler(models.Model):""" 歌手表模型 """name = models.CharField(max_length=50, help_text='请输入歌手名称')first_letter = models.CharField(max_length=15, help_text='请输入歌手名称首字母')# 设置上传位置portrait = models.ImageField(upload_to='uploads/%Y%m%d%H/', help_text='请上传歌手照片')birthday = models.DateField(default=date.today, help_text='请选择歌手生日')height = models.IntegerField(help_text='请输入歌手身高(cm)', default=0, blank=True)weight = models.IntegerField(help_text='请输入歌手体重(kg)', default=0, blank=True)constellation = models.CharField(max_length=50, help_text='请输入歌手星座')single_num = models.IntegerField(default=0)album_num = models.IntegerField(default=0)desc = models.TextField(help_text='请输入歌手简介')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)

设置图片上传路径

在myMusic/settings.py中最下方设置。

# 设置文件上传位置
MEDIA_ROOT = 'static/'

创建上传文件目录

在myMusic目录下创建static文件夹。

如图:

生成表迁移

python manage.py makemigrations

执行过程:

执行创建表

python manage.py migrate

创建表结构如下:

CREATE TABLE `player_singler` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`first_letter` varchar(15) NOT NULL,`portrait` varchar(100) NOT NULL,`birthday` date NOT NULL,`height` int(11) NOT NULL,`weight` int(11) NOT NULL,`constellation` varchar(50) NOT NULL,`single_num` int(11) NOT NULL,`album_num` int(11) NOT NULL,`desc` longtext NOT NULL,`addtime` datetime(6) NOT NULL,`updatetime` datetime(6) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

后台管理表模型

在player目录下admin.py中注册歌手表模型到后台。

from django.contrib import admin
from .models import Singler# Register your models here.
class SinglerAdmin(admin.ModelAdmin):passadmin.site.register(Singler, SinglerAdmin)

歌手表模型操作

新增

点击表模型旁边增加按钮,即可进入新增界面,增加一条新的歌手记录。

写完后,点击最下方的保存按钮;新增成功后,可在列表查看新增记录。

编辑、删除

通过表模型数据列表,点击进入歌手数据详情。

 歌手数据详情可编辑,也可点击下方删除按钮,删除数据。

优化歌手记录列表

修改player/admin.py。

from django.contrib import admin
from .models import Singler# Register your models here.
class SinglerAdmin(admin.ModelAdmin):# 列表页属性def get_name(self):return self.nameget_name.short_description = '歌手名称'def get_portrait(self):return self.portraitget_portrait.short_description = '歌手头像'def get_constellation(self):return self.constellationget_constellation.short_description = '星座'def get_height(self):return str(self.height) + 'cm'get_height.short_description = '身高'def get_weight(self):return str(self.weight) + 'kg'get_weight.short_description = '体重'def get_addtime(self):return self.addtimeget_addtime.short_description = '创建时间'def get_updatetime(self):return self.updatetimeget_updatetime.short_description = '更新时间'# 显示字段list_display = ['id', get_name, get_portrait, get_constellation, get_height, get_weight, get_addtime, get_updatetime]# 过滤器list_filter = ['name', 'constellation']# 搜索search_fields = ['name', 'constellation']# 分页list_per_page = 5admin.site.register(Singler, SinglerAdmin)

 效果:

总结

在django中数据表到后台操作顺序为:

创建表模型->创建表迁移文件->执行表迁移->后台注册。

优化就是后台自定义管理;

比较麻烦的就是,所有表操作修改都需要创建和执行表迁移。

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

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

相关文章

刷题笔记 day5

力扣 202 快乐数 首先来分析什么样的数是快乐数, 解题思路: 1)定义快慢指针 ; 2)快指针走两步,慢指针走一步 ;3)两个指针相遇时判断相遇的数值是否为1。 怎样处理 取各分位数的平…

软考A计划-系统集成项目管理工程师-信息文档和配置管理-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

【计算机视觉中的 GAN 】如何稳定GAN训练(3)

一、说明 在上一篇文章中,我们达到了理解未配对图像到图像翻译的地步。尽管如此,在实现自己的超酷深度GAN模型之前,您必须了解一些非常重要的概念。如本文所提的GAN模型新成员的引入:Wasserstein distance,boundary eq…

四、JVM-对象内存模型

Java对象内存模型 一个Java对象在内存中包括3个部分:对象头、实例数据和对齐填充 数据 内存 – CPU 寄存器 -127 补码 10000001 - 11111111 32位的处理器 一次能够去处理32个二进制位 4字节的数据 64位操作系统 8字节 2的64次方的寻址空间 指针压缩技术 JDK1.6出…

尝试多数据表 sqlite

C 唯一值得骄傲的地方就是 通过指针来回寻址 😂 提高使用的灵活性 小脚本buff 加成

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 17 日论文合集)

文章目录 一、检测相关(5篇)1.1 TALL: Thumbnail Layout for Deepfake Video Detection1.2 Cloud Detection in Multispectral Satellite Images Using Support Vector Machines With Quantum Kernels1.3 Multimodal Motion Conditioned Diffusion Model for Skeleton-based Vi…

从录取成绩的角度来看,浙大MPA面试的客观公正性是有一定依据的

时间即将来到八月份!不知道目前考生们今年的备考情况怎么样了,度过比较煎熬的三伏天,距离考研冲刺的时间越来越近! 提前批面试申请对于不同的项目以及不同的考生意义都不一样。比如真正的学霸人物对于提面的申请与不申请一般差别不…

关于K8s的Pod的详解(一)

关于K8s的Pod的详解(一) Pod和API server的通信加快Pod启动更改Pod的资源Pod 的持久卷的单个访问模式Pod 拓扑分布约束Pod 拓扑分布中的最小域数 Pod 作为k8s创建,调度,管理的基本单位。由上级的Controller对Node上安装的Kubelet发…

Pytorch深度学习之余弦退火学习率设置

1. 什么是余弦退火学习率? 余弦退火学习速率调度是改进深度神经网络学习过程的常用方法。当深度神经网络在大型数据集上训练时,它尤其有用,因为在大型数据集中,学习过程可能会陷入局部极小值。在训练过程中,学习率以不…

MongoDB文档--架构体系

阿丹: 在开始学习先了解以及目标知识的架构体系。就能事半功倍。 架构体系 MongoDB的架构体系由以下几部分组成: 存储结构:MongoDB采用文档型存储结构,一个数据库包含多个集合,一个集合包含多个文档。存储形式&#…

C语言假期作业 DAY 01

题目 1.选择题 1、执行下面程序,正确的输出是( ) int x5,y7; void swap() { int z; zx; xy; yz; } int main() { int x3,y8; swap(); printf("%d,%d\n",x, y)…

ZooKeeper原理剖析

1.ZooKeeper简介 ZooKeeper是一个分布式、高可用性的协调服务。在大数据产品中主要提供两个功能: 帮助系统避免单点故障,建立可靠的应用程序。提供分布式协作服务和维护配置信息。 2.ZooKeeper结构 ZooKeeper集群中的节点分为三种角色:Le…

自动驾驶感知系统-全球卫星定位系统

卫星定位系统 车辆定位是让无人驾驶汽车获取自身确切位置的技术,在自动驾驶技术中定位担负着相当重要的职责。车辆自身定位信息获取的方式多样,涉及多种传感器类型与相关技术。自动驾驶汽车能够持续安全可靠运行的一个关键前提是车辆的定位系统必须实时…

【雕爷学编程】MicroPython动手做(33)——物联网之天气预报3

天气(自然现象) 是指某一个地区距离地表较近的大气层在短时间内的具体状态。而天气现象则是指发生在大气中的各种自然现象,即某瞬时内大气中各种气象要素(如气温、气压、湿度、风、云、雾、雨、闪、雪、霜、雷、雹、霾等&#xff…

STM32基础入门学习笔记:核心板 电路原理与驱动编程

文章目录: 一:LED灯操作 1.LED灯的点亮和熄灭 延迟闪烁 main.c led.c led.h BitAction枚举 2.LED呼吸灯(灯的强弱交替变化) main.c delay.c 3.按键控制LED灯 key.h key.c main.c 二:FLASH读写程序(有…

【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境4

7、使用串口工具 (1)连接硬件 连接 Type C 线, 一端电脑一端开发板 查看设备是否已经正确识别: 在 Windows 下可以打开设备管理器来查看 如果没有发现设备, 需要确认有没有装驱动以及接触是否良好 (2&a…

华为数通HCIA-ARP(地址解析协议)详细解析

地址解析协议 (ARP) ARP (Address Resolution Protocol)地址解析协议: 根据已知的IP地址解析获得其对应的MAC地址。 ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个…

Android安卓实战项目(5)---完整的健身APP基于安卓(源码在文末)可用于比赛项目或者作业参考中

Android安卓实战项目(5)—完整的健身APP(源码在文末🐕🐕🐕)可用于比赛项目 一.项目运行介绍 1.大致浏览 【bilibili视频】 https://www.bilibili.com/video/BV1uX4y177iR/? (1&…

【css】nth-child选择器实现表格的斑马纹效果

nth-child() 选择器可以实现为所有偶数&#xff08;或奇数&#xff09;的表格行添加css样式&#xff0c;even&#xff1a;偶数&#xff0c;odd&#xff1a;奇数。 代码&#xff1a; <style> table {border-collapse: collapse;width: 100%; }th, td {text-align: cente…

手机python编程软件怎么用,手机python编程软件下载

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;手机python编程软件保存的代码在哪里&#xff0c;手机python编程软件怎么运行&#xff0c;现在让我们一起来看看吧&#xff01; 原标题&#xff1a;盘点几个在手机上可以用来学习编程的软件 前天在悟空问答的时候&#…