Django实现音乐网站 ⑼

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

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

本篇主要是后台对专辑、首页轮播图原有功能的基础上进行部分功能实现和显示优化。

目录

专辑功能优化

新增编辑

专辑语种改为下拉选项

添加单曲优化显示

新增单曲多选

更新歌手专辑数、专辑单曲数

获取歌手专辑数

保存处理专辑数和单曲数

列表显示

显示专辑封面

显示专辑所属歌手

首页轮播图功能优化

字段显示优化

记录列表显示图片

总结


专辑功能优化

新增编辑

专辑语种改为下拉选项

修改专辑表模型Album 专辑语种字段,使用choices参数。

langs = [('国语', '国语'), ('普通话', '普通话'), ('英语', '英语'), ('日韩', '日韩')]
single_lang = models.CharField('专辑语种', max_length=50, choices=langs, help_text='请选择专辑语种')

 效果:

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

添加单曲优化显示

需要在添加专辑时,单曲选项显示为单曲名称;

还是去修改表模型,需要给单曲表设置返回格式。

单曲表模型增加str方法

def __str__(self):
    return self.name

新增单曲多选

添加或编辑数据时,选择单曲可通过ctrl键来实现多选。

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

 查看数据库表

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

更新歌手专辑数、专辑单曲数

在新增专辑后,同步更新所属歌手拥有专辑数量。

在player/models.py中修改。

获取歌手专辑数
def get_album_singler_num(singler_id):
    """
    获取专辑表中所属歌手数
    :param singler_id:
    :return:
    """
    return Album.objects.filter(singler_id=singler_id).count()
保存处理专辑数和单曲数

在专辑表模型中重写保存方法。

单曲数通过Singe字段获取,是一个set类型;使用内置方法len计算数量。

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

 重写save方法

def save(self, force_insert=False, force_update=False, using=None,
         update_fields=None):
    """ 重写save方法 处理单曲数和歌手专辑数 """

    super().save()

    # 获取选中的单曲字典
    sing_set = self.Singe.all()
    single_num = len(sing_set)
    # 更新单曲数
    self.single_num = single_num

    # 获取所属歌手专辑数
    album_num = get_album_singler_num(self.singler_id)

    super().save()
    # 更新歌手表-专辑数
    Singler.objects.filter(pk=self.singler_id).update(album_num=album_num)

列表显示

显示专辑封面

默认显示的是专辑封面路径。

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

修改player/admin.py中专辑后台类中封面自定义返回。

内容如下:

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

效果:

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

显示专辑所属歌手

默认列表显示的专辑所属歌手为外键id,需要显示为歌手名称。

修改player/admin.py中专辑后台类中对歌手外键id返回,使用之前单曲显示歌手方法即可。

内容如下:

def get_singler_id(self):
    return get_singler_name(self.singler_id)

get_singler_id.short_description = '歌手'

效果:

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

首页轮播图功能优化

字段显示优化

修改player/models.py文件中,首页轮播图表模型中字段显示为设定的内容。

内容如下:

class Carousel(models.Model):
    """ 首页轮播图 """

    class Meta:
        verbose_name = '首页轮播'
        verbose_name_plural = '首页轮播'

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

记录列表显示图片

修改player/admin.py文件;展示轮播图列表中显示路径改为显示图片,

还是通过format_html。

内容如下:

class CarouselAdmin(admin.ModelAdmin):
    """ 后台首页轮播图类 """

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

    get_path.short_description = '图片路径'

    def get_href(self):
        return self.href

    get_href.short_description = '跳转路径'

    # 显示字段
    list_display = ['id', get_path, get_href]

效果:

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

总结

操作后台管理自定义时,目前主要通过两方面来改变,一个是表模型;另一个是通过后台类。文章来源地址https://www.toymoban.com/news/detail-640314.html

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

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

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

相关文章

  • Django实现音乐网站 ⑽

    使用Python Django框架制作一个音乐网站, 本篇主要是后台对歌曲类型、歌单功能原有功能进行部分功能实现和显示优化。 目录 歌曲类型功能优化 新增编辑 优化输入项标题显示 父类型显示改为下拉菜单 列表显示 父类型显示名称 过滤器增加父类型 歌单表功能优化 新增编辑

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

    使用Python Django框架制作一个音乐网站, 本篇主要是配置媒体资源设置。 目录 配置介绍 设置媒体资源 创建媒体资源目录 修改settings.py 注册媒体资源路由 总结 静态资源是指项目配置的js/css/image等系统常用文件。对于一些经常变动的资源,通常放在媒体资源文件夹,比如歌手

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

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

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

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

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

    使用Python Django框架制作一个音乐网站, 本篇主要是歌手详情页-基本信息、单曲列表功能开发实现内容。 目录 歌手基本信息 增加路由 显示视图 模板显示 推荐歌手跳转详情 歌手增加基本信息 表模型增加字段 数据表更新 基本信息增加内容渲染 歌手单曲列表 路由设置 跳转设

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

    使用Python Django框架制作一个音乐网站,在系列文章3的基础上继续开发, 本篇主要是后台歌曲类型表、歌单表模块功能开发。 目录 表结构设计 歌曲类型表结构 歌单表结构 创建表模型 创建表 后台注册表模型 引入表模型 后台自定义 总结 歌曲类型表结构 字段 类型 注释 id

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

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

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

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

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

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

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

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

    2024年02月10日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包