作风建设 宣讲家网站万户网络技术有限公司官网
web/
2025/10/8 4:27:00/
文章来源:
作风建设 宣讲家网站,万户网络技术有限公司官网,江苏关键词推广seo,网站建设 深圳信科公司使用Python Django框架制作一个音乐网站#xff0c; 本篇主要是后台对歌曲类型、歌单功能原有功能进行部分功能实现和显示优化。 目录
歌曲类型功能优化
新增编辑
优化输入项标题显示
父类型显示改为下拉菜单
列表显示
父类型显示名称
过滤器增加父类型
歌单表功能优化… 使用Python Django框架制作一个音乐网站 本篇主要是后台对歌曲类型、歌单功能原有功能进行部分功能实现和显示优化。 目录
歌曲类型功能优化
新增编辑
优化输入项标题显示
父类型显示改为下拉菜单
列表显示
父类型显示名称
过滤器增加父类型
歌单表功能优化
新增编辑
单曲选项增加歌手名称
歌单类型选项名称修改
字段显示名称修改
播放量改为不可编辑
歌单增加描述字段
首先表模型中增加描述字段
执行表迁移
列表显示
显示播放量、添加时间
显示编辑时间、歌单描述
歌单封面改为显示图片
总结 歌曲类型功能优化
新增编辑
优化输入项标题显示
把显示字段名称改为显示名称
内容如下
class SongCategory(models.Model): 歌曲类型表 class Meta:verbose_name 歌曲类型verbose_name_plural 歌曲类型name models.CharField(类型名称, max_length100, help_text请输入类型名称)pid models.IntegerField(父类型id, default0, help_text父类型)
效果 父类型显示改为下拉菜单
父类型字段增加choice参数就可变成下拉菜单选项需要注意字段类型为tuple。
内容如下
categoryChoice [(0, 默认), (1, 主题), (2, 心情),(3, 场景),(4, 年代),(5, 曲风流派), (6, 语言)
]
pid models.IntegerField(父类型, default0, help_text父类型,choicescategoryChoice
)
效果 原本想做成表模型调用自己的父类型组成列表来展示和添加结果发现表模型没创建时候这个表模型是不存在的也就无法调用暂时先做成固定父类型添加子类型。 列表显示
父类型显示名称
默认显示父类型是类型id改为显示类型名称。
修改player/admin.py中的歌曲类型后台类中对pid字段返回内容。
class SongCategoryAdmin(admin.ModelAdmin): 后台歌单类型类 def get_name(self):return self.nameget_name.short_description 类型名称def get_pid(self):categoryChoice [(0, 默认),(1, 主题),(2, 心情),(3, 场景),(4, 年代),(5, 曲风流派),(6, 语言)]for index, item in categoryChoice:if index self.pid:return itemget_pid.short_description 父类型
效果 过滤器增加父类型
过滤器中增加pid字段设置可以设置在name的前面。
内容如下
list_filter [pid, name]
效果 歌单表功能优化
新增编辑
单曲选项增加歌手名称
修改单曲表字符串返回格式。
内容如下
class Singe(BaseModel): 单曲表 ......def __str__(self):return str(self.name) - str(self.singler)
效果 歌单类型选项名称修改
默认显示对象需要修改歌曲类型表模型类增加__str__方法设置返回格式。
内容如下
def __str__(self):return self.name
效果 字段显示名称修改
默认显示字段名称需要改成字段表述的内容这样便于理解和编辑。 修改player/models.py中歌单表模型类设置字段的verbose_name属性。
内容如下
class SongSheet(BaseModel): 歌单表 class Meta:verbose_name 歌单verbose_name_plural 歌单name models.CharField(歌单名称, max_length100, help_text请输入歌单名称)cover models.ImageField(歌单封面图,upload_toupload_save_path, help_text请上传歌单封面图)playnum models.IntegerField(播放量, default0, help_text请输入播放量)is_default models.IntegerField(默认, default0, choices[(0, 是), (1, 否)], help_text是否默认)# 歌曲类型与歌单表 多对多关系category models.ManyToManyField(SongCategory, verbose_name所属类型)# 歌单表与单曲表多对多关系singe models.ManyToManyField(Singe, verbose_name包含单曲)
效果 播放量改为不可编辑
播放量是由前端查看歌单后增加数量后台不能编辑。
需要设定播放量字段的editable为False。
内容如下
playnum models.IntegerField(default0, editableFalse)
保存后新增和编辑中播放量填写项不再显示。 歌单增加描述字段
刚发现设计表时候没有歌单描述字段现在加上。 首先表模型中增加描述字段
内容如下
esc models.TextField(歌单描述, default, max_length200, help_text请输入歌单描述)
注意需要设置默认否则无法执行。 执行表迁移
表模型发生改变后需要创建表迁移文件和执行表迁移。
python manage.py makemigrations
python manage.py migrate
数据表增加desc字段 列表显示
显示播放量、添加时间
显示编辑时间、歌单描述
修改player/admin.py中歌单表后台类。
内容如下
class SongSheetAdmin(admin.ModelAdmin): 后台歌单类 def get_name(self):return self.nameget_name.short_description 类型名称def get_cover(self):return format_html(img src/media/{} width100px height100px/,self.cover,)get_cover.short_description 歌单封面def get_desc(self):return self.descget_desc.short_description 歌单描述def get_playnum(self):return self.playnumget_playnum.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_cover, get_desc, get_playnum, get_addtime, get_updatetime]
效果 歌单封面改为显示图片
修改player/admin.py中歌单表后台类把封面方法返回内容改为img元素。
内容如下
def get_cover(self):return format_html(img src/media/{} width100px height100px/,self.cover,) 效果 总结
至此后台功能开发和优化算基本完成之后开始前端方面开发。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88869.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!