当前位置: 首页 > news >正文

c做的网站近期的新闻消息

c做的网站,近期的新闻消息,图标网站导航制作怎么做,网站模块图片使用Python Django框架制作一个音乐网站,在系列文章2的基础上继续开发,本篇主要是后台单曲、专辑、首页轮播图表模块开发。 目录 后台单曲、专辑表模块开发 表结构设计 单曲表(singe)结构 专辑表(album&#xff09…

使用Python Django框架制作一个音乐网站,在系列文章2的基础上继续开发,本篇主要是后台单曲、专辑、首页轮播图表模块开发。

目录

后台单曲、专辑表模块开发

表结构设计

单曲表(singe)结构

专辑表(album)结构

创建表模型

创建表

后台注册表模型

后台首页轮播图表模块开发

表结构设计

创建表模型

创建表

后台注册表模型

引入表模型

后台自定义

总结


后台单曲、专辑表模块开发

表结构设计

单曲表(singe)结构

字段

类型

注释

id

int(11)

单曲id

sid

int(11)

所属歌手id

aid

int(11)

所属专辑id

name

varchar(50)

单曲名称

duration

int(11)

时长(ms)

path

varchar(200)

歌曲文件链接

lyric

varchar(200)

歌词文件链接

addtime

int(11)

发行时间

updatetime

int(11)

编辑时间

专辑表(album)结构

字段

类型

注释

id

int(11)

单曲id

singler_id

int(11)

所属歌手id

name

varchar(50)

专辑名称

cover

varchar(255)

专辑封面

desc

varchar(255)

专辑简介

single_num

int(11)

单曲数

lang

varchar(50)

专辑语种

addtime

int(11)

创建时间

updatetime

int(11)

更新时间

创建表模型

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

专辑和单曲表关系为多对多,需要设置一个中间关系表;在django中多对多关系,不需要主动设置,会自动创建一个隐藏中间表。

内容如下:

class Singe(models.Model):""" 单曲表 """name = models.CharField(max_length=50, help_text='请输入单曲名称')duration = models.IntegerField(help_text='请输入歌曲时长(ms)')path = models.FileField(upload_to=upload_save_path, help_text='请上传歌曲')lyric = models.FileField(upload_to=upload_save_path, help_text='请上传歌曲单词')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 设置与歌手表关联外键# 一对多外键设置在多的模型中singler = models.ForeignKey("Singler", on_delete=models.CASCADE)class Album(models.Model):""" 专辑表 """name = models.CharField(max_length=50, help_text='请输入专辑名称')cover = models.ImageField(upload_to=upload_save_path, help_text='请上传专辑封面图')desc = models.CharField(max_length=255, help_text='请输入专辑描述')single_num = models.IntegerField(default=0, help_text='请输入单曲数')single_lang = models.CharField(max_length=50, help_text='请输入专辑语种')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 设置与歌手表关联外键 一对多 级联删除singler = models.ForeignKey("Singler", on_delete=models.CASCADE)# 设置与单曲表关联外键 多对多Singe = models.ManyToManyField('Singe')

 

创建表

python manage.py makemigrationspython manage.py migrate

这两条命令执行结束后,数据库增加player_album、player_singe表及关系表player_album_singe

表结构如下:

CREATE TABLE `player_album` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`cover` varchar(100) NOT NULL,`desc` varchar(255) NOT NULL,`single_num` int(11) NOT NULL,`single_lang` varchar(50) NOT NULL,`addtime` datetime(6) NOT NULL,`updatetime` datetime(6) NOT NULL,`singler_id` bigint(20) NOT NULL,PRIMARY KEY (`id`),KEY `player_album_singler_id_cde08698` (`singler_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;CREATE TABLE `player_singe` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`duration` int(11) NOT NULL,`path` varchar(100) NOT NULL,`lyric` varchar(100) NOT NULL,`addtime` datetime(6) NOT NULL,`updatetime` datetime(6) NOT NULL,`singler_id` bigint(20) NOT NULL,PRIMARY KEY (`id`),KEY `player_singe_singler_id_103f9b74` (`singler_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;CREATE TABLE `player_album_singe` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`album_id` bigint(20) NOT NULL,`singe_id` bigint(20) NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `player_album_Singe_album_id_singe_id_5df36ff3_uniq` (`album_id`,`singe_id`),KEY `player_album_Singe_album_id_2148d063` (`album_id`),KEY `player_album_Singe_singe_id_f3856b29` (`singe_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

 

后台注册表模型

在player目录下admin.py中注册单曲、专辑表模型到后台。

增加自定义上传文件路径方法设置。

def upload_save_path(instance, filename):""" 上传文件保存路径 """return 'uploads/' + str(int(time.time())) + '/{0}'.format(filename)class Singe(models.Model):""" 单曲表 """name = models.CharField(max_length=50, help_text='请输入单曲名称')duration = models.IntegerField(help_text='请输入歌曲时长(ms)')path = models.FileField(upload_to=upload_save_path, help_text='请上传歌曲')lyric = models.FileField(upload_to=upload_save_path, help_text='请上传歌曲单词')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 设置与歌手表关联外键# 一对多外键设置在多的模型中singler = models.ForeignKey("Singler", on_delete=models.CASCADE)# 设置与专辑表关联外键album = models.ForeignKey("Album", on_delete=models.CASCADE)class Album(models.Model):""" 专辑表 """name = models.CharField(max_length=50, help_text='请输入专辑名称')cover = models.ImageField(upload_to=upload_save_path, help_text='请上传专辑封面图')desc = models.CharField(max_length=255, help_text='请输入专辑描述')single_num = models.IntegerField(default=0, help_text='请输入单曲数')single_lang = models.CharField(max_length=50, help_text='请输入专辑语种')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 设置与歌手表关联外键singler = models.ForeignKey("Singler", on_delete=models.CASCADE)admin.site.register(Singe, SingeAdmin)
admin.site.register(Album, AlbumAdmin)

效果:

外键的设置,主要在添加的时候进行下拉菜单关联添加。

 

后台首页轮播图表模块开发

表结构设计

字段

类型

注释

id

int(11)

自增id

path

varchar(100)

图片路径

href

varchar(100)

跳转路径

 

创建表模型

自增id不需指定,默认自动添加。

class Carousel(models.Model):""" 首页轮播图 """path = models.ImageField(upload_to=upload_save_path, help_text='请选择上传首页轮播图')href = models.CharField(max_length=100, help_text='请输入点击图片后跳转路径')

创建表

python manage.py makemigrationspython manage.py migrate

执行过程:

 

后台注册表模型

在player/admin.py中添加轮播表模型,并注册。

引入表模型

from .models import Carousel

后台自定义

class CarouselAdmin(admin.ModelAdmin):# 列表页属性def get_path(self):return self.pathget_path.short_description = '图片路径'def get_href(self):return self.hrefget_href.short_description = '跳转路径'# 显示字段list_display = ['id', get_path, get_href]admin.site.register(Carousel, CarouselAdmin)

效果:

总结

还是创建表模型到后台注册流程,增加了自定义上传文件设置,还有两种外键设置的方式:分别为一对多和多对多类型,其中一对多设置删除为级联方式,也就是删除一时多的一方也会被删除。

http://www.hkea.cn/news/827603/

相关文章:

  • 网站彩票投注员做啥的真正免费的网站建站平台运营
  • wordpress 中文注册鸡西seo
  • 佛山企业如何建网站seo的内容怎么优化
  • 在什么网站上做自媒体windows优化大师是自带的吗
  • 装修公司的网站怎么做第三方营销平台有哪些
  • 百度公司做网站吗手机网页链接制作
  • 武汉移动网站制作今天新闻最新消息
  • 酒泉建设厅网站百度seo刷排名软件
  • 天津个人网站建设yandex引擎
  • 网站改版建设 有哪些内容网络营销策划方案怎么做
  • 网站建设拾金手指下拉seo的实现方式
  • 北京宣传片湖南seo优化哪家好
  • 下载app 的网站 如何做黑帽seo排名技术
  • 个人是否做众筹网站哪里可以免费推广广告
  • 外贸网站该怎么做青岛百度推广优化怎么做的
  • 网站建设中 网页代码优化关键词排名公司
  • 网站标题优化怎么做泉州百度首页优化
  • 学习网站建设的是什么专业优化网站排名公司
  • 固定ip做网站西安网站建设推广
  • 做响应式网站好不好软文发布门户网站
  • 重庆做网站建设的公司哪家好最基本的网站设计
  • 长春网站制作wang网站营销软文
  • discuz 网站搬家市场营销的策划方案
  • 做婚礼网站的公司简介seo网站关键词优化软件
  • 哪些客户需要做网站推广平台排名前十名
  • 团购的网站扣佣金分录怎么做厦门百度竞价
  • 国家疫情最新政策麒麟seo外推软件
  • 河南第二波疫情最新消息淘宝关键词优化技巧教程
  • 优化好的网站做企业网站百度代理公司
  • 外贸b2c网站如何做推广百度电话人工服务