Django实现音乐网站 ⑽

这篇具有很好参考价值的文章主要介绍了Django实现音乐网站 ⑽。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用Python Django框架制作一个音乐网站,

本篇主要是后台对歌曲类型、歌单功能原有功能进行部分功能实现和显示优化。

目录

歌曲类型功能优化

新增编辑

优化输入项标题显示

父类型显示改为下拉菜单

列表显示

父类型显示名称

过滤器增加父类型

歌单表功能优化

新增编辑

单曲选项增加歌手名称

歌单类型选项名称修改

字段显示名称修改

播放量改为不可编辑

歌单增加描述字段

首先表模型中增加描述字段

执行表迁移

列表显示

显示播放量、添加时间

显示编辑时间、歌单描述

歌单封面改为显示图片

总结


歌曲类型功能优化

新增编辑

优化输入项标题显示

把显示字段名称改为显示名称

内容如下:

class SongCategory(models.Model):
    """ 歌曲类型表 """

    class Meta:
        verbose_name = '歌曲类型'
        verbose_name_plural = '歌曲类型'

    name = models.CharField('类型名称', max_length=100, help_text='请输入类型名称')
    pid = models.IntegerField('父类型id', default=0, help_text='父类型')

效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

父类型显示改为下拉菜单

父类型字段增加choice参数,就可变成下拉菜单选项,需要注意字段类型为tuple。

内容如下:

categoryChoice = [
    (0, '默认'), 
    (1, '主题'), 
    (2, '心情'),
    (3, '场景'),
    (4, '年代'),
    (5, '曲风流派'), 
    (6, '语言')
]
pid = models.IntegerField(
    '父类型', 
    default=0, 
    help_text='父类型',
    choices=categoryChoice
)

效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

原本想做成表模型调用自己的父类型组成列表来展示和添加;结果发现表模型没创建时候,这个表模型是不存在的,也就无法调用,暂时先做成固定父类型,添加子类型。

列表显示

父类型显示名称

默认显示父类型是类型id,改为显示类型名称。

修改player/admin.py中的歌曲类型后台类中对pid字段返回内容。

class SongCategoryAdmin(admin.ModelAdmin):
    """ 后台歌单类型类 """

    def get_name(self):
        return self.name

    get_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 item

    get_pid.short_description = '父类型'

效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

过滤器增加父类型

过滤器中增加pid字段设置,可以设置在name的前面。

内容如下:

list_filter = ['pid', 'name']

效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

歌单表功能优化

新增编辑

单曲选项增加歌手名称

修改单曲表字符串返回格式。

内容如下:

class Singe(BaseModel):
    """ 单曲表 """

    ......

    def __str__(self):
        return str(self.name) + ' - ' + str(self.singler)

效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

歌单类型选项名称修改

默认显示对象,需要修改歌曲类型表模型类,增加__str__方法,设置返回格式。

内容如下:

def __str__(self):
    return self.name

效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

字段显示名称修改

默认显示字段名称,需要改成字段表述的内容,这样便于理解和编辑。

 Django实现音乐网站 ⑽,# Django项目,django,python,后端

修改player/models.py中歌单表模型类,设置字段的verbose_name属性。

内容如下:

class SongSheet(BaseModel):
    """ 歌单表 """

    class Meta:
        verbose_name = '歌单'
        verbose_name_plural = '歌单'

    name = models.CharField('歌单名称', max_length=100, help_text='请输入歌单名称')
    cover = models.ImageField('歌单封面图',upload_to=upload_save_path, help_text='请上传歌单封面图')
    playnum = models.IntegerField('播放量', default=0, help_text='请输入播放量')
    is_default = models.IntegerField('默认', default=0, choices=[('0', '是'), ('1', '否')], help_text='是否默认')

    # 歌曲类型与歌单表 多对多关系
    category = models.ManyToManyField('SongCategory', verbose_name='所属类型')

    # 歌单表与单曲表多对多关系
    singe = models.ManyToManyField('Singe', verbose_name='包含单曲')

效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

播放量改为不可编辑

播放量是由前端查看歌单后增加数量,后台不能编辑。

需要设定播放量字段的editable为False。

内容如下:

playnum = models.IntegerField(default=0, editable=False)

保存后,新增和编辑中播放量填写项不再显示。

歌单增加描述字段

刚发现设计表时候没有歌单描述字段,现在加上。

首先表模型中增加描述字段

内容如下:

esc = models.TextField('歌单描述', default='', max_length=200, help_text='请输入歌单描述')

注意:需要设置默认,否则无法执行。

执行表迁移

表模型发生改变后,需要创建表迁移文件和执行表迁移。

python manage.py makemigrations
python manage.py migrate

数据表增加desc字段

Django实现音乐网站 ⑽,# Django项目,django,python,后端

列表显示

显示播放量、添加时间

显示编辑时间、歌单描述

修改player/admin.py中歌单表后台类。

内容如下:

class SongSheetAdmin(admin.ModelAdmin):
    """ 后台歌单类 """

    def get_name(self):
        return self.name

    get_name.short_description = '类型名称'

    def get_cover(self):
        return format_html(
            '<img src="/media/{}" width="100px" height="100px"/>',
            self.cover,
        )

    get_cover.short_description = '歌单封面'

    def get_desc(self):
        return self.desc

    get_desc.short_description = '歌单描述'


    def get_playnum(self):
        return self.playnum

    get_playnum.short_description = '播放量'

    def get_addtime(self):
        return self.addtime

    get_addtime.short_description = '创建时间'

    def get_updatetime(self):
        return self.updatetime

    get_updatetime.short_description = '编辑时间'

    # 显示字段
    list_display = ['id', get_name, get_cover, get_desc, get_playnum, get_addtime, get_updatetime]

效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

歌单封面改为显示图片

修改player/admin.py中歌单表后台类;把封面方法返回内容改为img元素。

内容如下:

def get_cover(self):
    return format_html(
        '<img src="/media/{}" width="100px" height="100px"/>',
        self.cover,
    )

 效果:

Django实现音乐网站 ⑽,# Django项目,django,python,后端

总结

至此后台功能开发和优化算基本完成,之后开始前端方面开发。文章来源地址https://www.toymoban.com/news/detail-639935.html

到了这里,关于Django实现音乐网站 ⑽的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django实现音乐网站 ⒆

    使用Python Django框架做一个音乐网站, 本篇主要为排行榜功能及音乐播放器部分功能实现。 目录 推荐排行榜优化 设置歌手、单曲跳转链接 排行榜列表渲染优化 视图修改如下: 模板修改如下: 单曲详情修改 排行榜列表 设置路由 视图处理 模板渲染 设置跳转入口 播放器功能

    2024年02月07日
    浏览(27)
  • Django实现音乐网站 ⑹

    使用Python Django框架制作一个音乐网站, 本篇主要是在添加编辑过程中对后台歌手功能优化及表模型名称修改、模型继承内容。 目录 表模型名称修改 模型继承 创建抽象基类 其他模型继承 更新表结构 歌手新增、编辑优化 表字段名称修改 隐藏单曲数和专辑数 姓名首字母 安装

    2024年02月13日
    浏览(31)
  • Django实现音乐网站 ⑴

    使用Python Django框架制作一个音乐网站。 目录 网站功能模块 安装django 创建项目 创建应用 注册应用 配置数据库 设置数据库配置 设置pymysql库引用 创建数据库 创建数据表 生成表迁移文件 执行表迁移 后台管理 创建管理员账户 启动服务器 登录网站 配置时区 配置语言  总结

    2024年02月15日
    浏览(28)
  • Django实现音乐网站 ⑼

    使用Python Django框架制作一个音乐网站, 本篇主要是后台对专辑、首页轮播图原有功能的基础上进行部分功能实现和显示优化。 目录 专辑功能优化 新增编辑 专辑语种改为下拉选项 添加单曲优化显示 新增单曲多选 更新歌手专辑数、专辑单曲数 获取歌手专辑数 保存处理专辑

    2024年02月13日
    浏览(27)
  • Django实现音乐网站 ⑾

    使用Python Django框架制作一个音乐网站, 本篇主要是前端开发前的一些必要配置和首页展示开发。   目录 配置应用路由 创建应用路由文件 应用路径加入项目路径 创建项目模板 创建项目及应用模板路径 设置模板路径 设置静态资源路径 创建静态资源路径 配置静态资源路径

    2024年02月12日
    浏览(29)
  • Django实现音乐网站 ⒁

    使用Python Django框架制作一个音乐网站, 本篇主要是歌手页-全部歌手页功能开发。 目录 分出首页样式内容 创建首页样式文件 首页引入样式文件 全部歌手列表 创建路由 显示视图 引入分页实现库 视图方法 创建歌手首页 增加歌手跳转 导航条改活 首页增加导航条 歌手页增加

    2024年02月10日
    浏览(29)
  • Django实现音乐网站 (21)

    使用Python Django框架做一个音乐网站, 本篇音乐播放器功能完善及原有功能修改。 目录 播放列表修改 视图修改 删除、清空播放器 设置路由 视图处理 修改加载播放器脚本 模板修改 脚本设置 清空功能实现 删除列表音乐 播放列表无数据处理 视图修改 播放音乐与列表同步 修

    2024年02月07日
    浏览(31)
  • Django实现音乐网站 ⑺

    使用Python Django框架制作一个音乐网站, 本篇主要是后台对歌手原有实现功能的基础上进行优化处理。   目录 新增编辑 表字段名称修改 隐藏单曲、专辑数 姓名首字母 安装xpinyin 获取姓名首字母 重写保存方法 列表显示 图片显示处理 引入函数 路径改为显示图片 修改列表默认

    2024年02月14日
    浏览(30)
  • Django实现音乐网站 ⑿

    使用Python Django框架制作一个音乐网站, 本篇主要是加载静态资源和推荐页-轮播图、推荐歌单功能开发。 目录 加载静态资源 引入jquery.js 引入bootstrap资源文件 创建基类模板样式文件 推荐页开发 轮播图开发 下载 加载swiper 自定义引入继承块设置 使用swiper 设置轮播div宽高 轮播

    2024年02月11日
    浏览(25)
  • Django实现音乐网站 ⑻

    使用Python Django框架制作一个音乐网站, 本篇主要是后台对单曲原有功能的基础上进行部分功能实现和显示优化。 目录 新增编辑 歌手下拉显示修改 设置歌曲时长 安装eyed3库 获取mp3时长 歌曲时长字段修改 重写save方法 增加歌手单曲数量 查询歌手单曲数量 列表显示 显示歌手

    2024年02月13日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包