Python音乐平台Django实战(二)

Python实现多功能音乐播放器 前言 就是用Python做一个简易的音乐播放器,废话不多说,咱们直接开干 当然,今天做这个肯定不是最简单的,最简单的音乐播放器,9行代码足以 import time import pygame file = r'歌曲路径' pygame.mixer.init() print('正在播放',file) track = pygame.mixer.music.load(file) pygame.mixer.music.play() time.sleep(130) pygame.mixer.music.sto 阅读详情

1 项目架构设计

我们对音乐网站的需求与设计有了大概了解,下一步根据需求搭建项目的目录结构。

  • 首先在命令提示符窗口或者pyCharm中创建Django项目,项目命名为music
  • 然后在项目中分别创建项目应用index、ranking、play、comment、search和user(配置文件记得添加)
  • 并在每个项目应用中创建子路由文件urls.py
  • 最后在项目的根目录中创建media、publicStatic和templates文件夹

整个项目的目录结构如图所示:

企业微信截图_20230509205549.png

在settings.py配置文件添加app

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'index',
    'ranking',
    'user',
    'play',
    'search',
    'comment',
]

新建的项目应用和文件夹说明如下:

1 媒体资源文件夹(media)

用于存放歌曲文件、歌曲图片、歌词文件等资源文件,这类资源文件的变动频率较高,因此与静态资源分开不同的存储路径。在 media 文件夹中分别创建 songFile、songLyric和songImg文件夹,每个文件夹说明如下;

  • songFile存放歌曲的文件
  • songLyric存放歌词的文件
  • songImg存放歌曲封面的文件

2 静态资源文件夹(publicStatic)

存放网页的CSS样式文件、JavaScript脚本文件和网页图片文件等静态资源。

由于项目创建了多个应用,如果在每个应用里面单独创建静态文件夹,当更新或修改网页布局时,就不利于日后的维护和管理。

在 publicStatic 文件夹中分别创建css、font、image、js文件夹和favicon.ico文件,说明如下:

  • css文件夹存放网站的CSS样式文件
  • js文件夹存放网站的JavaScript脚本文件
  • font文件夹存放网站字体的文件
  • image文件夹存放网站设计的图片
  • favicon.ico文件是网站的图标

3 模板文件夹(templates)

存放模板文件,本项目一共使用9个模板文件,每个模板文件的说明如下:

  • base.html:定义项目的公用模板文件
  • index.html:实现音乐网站首页
  • ranking.html:实现榜单排行页面
  • play.html:实现歌曲播放页面
  • comment.html:实现歌曲点评页面
  • search.html:实现歌曲搜索页面
  • user.html:实现用户注册和登录页面
  • home.html:实现用户中心页面
  • 404.html:实现404和500异常页面

2 功能配置

项目的目录结构设计并不是一成不变的,不同的需求与设计都会导致项目的目录结构有所不同。

下一步对项目进行相关配置,配置信息主要在配置文件settings.py中完成。

首先确保新建的项目应用index、ranking、paly、comment、search和user写入配置属性INSTALLED_APPS里面,然后在配置属性MIDDLEWARE中添加中LocaleMiddleware,使Admin后台系统支持中文语言。

配置代码如下:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    # 添加中间键 LocaleMiddleware
    'django.middleware.locale.LocaleMiddleware',
]

项目的数据存储采用MySQL数据库,我们在MySQL中创建数据库music_db,并在配置属性DATABASES中设置MySQL的链接方式。

配置代码如下:

# 设置数据库连接信息
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends
Python音乐识别、生成和智能模型|Python音乐识别、生成和智能模型|用户指南,第7章:和弦 我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。但两者之间最大的区别是你可以操纵一个 列表,但不是元组。 阅读详情

相关推荐

chatgpt赋能python:如何用Python放音乐——实现简单的音频播放功能

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

xuhss_com的博客 1311

Python音乐平台Django实战(三)

项目中设置了6个项目应用,每个项目应用实现不同的网页功能,在开发网页功能之前,首先为各个项目应用设置路由空间,再由各个项目应用的urls.py定义具体的路由信息。打开music的urls.py定义项目的路由列表,在路由列表中定义各个项目应用的路由空间。# serve() 视图可以用来为你给它的任何目录提供服务。​# 定义静态资源的路由信息# 定义媒体资源的路由信息上述的路由空间以最简单的方式定义,因为项目的网页数量不多,所以路由空间可以无须设置参数namespace。

Saki_Python的博客 315

基于Python与Django的音乐播放器开发实战

随着互联网技术的发展,音乐播放器已从单一的音频播放工具演变为集播放、搜索、推荐于一体的多媒体应用。Python凭借其简洁易读的语法、丰富的第三方库和强大的Web开发能力,成为开发音乐播放器的理想语言。本章将介绍如何利用Python及其Django框架构建后端服务,配合前端技术实现一个功能完整的音乐播放器。通过本项目,开发者可以深入理解前后端协同开发流程、数据库建模、API对接、音频播放控制等关键技术点,为构建更复杂的Web应用打下坚实基础。接下来,我们将上述表结构转化为 Django 的模型类。

weixin_28787801的博客 1119

Windows/Linux双平台实战:QtCreator构建套件配置全攻略(含GCC/G++/GDB/CMake)

本文详细介绍了在Windows和Linux双平台下配置QtCreator构建套件的完整流程,涵盖GCC/G++、GDB和CMake等核心工具链的设置技巧。通过分步指导和实用示例,帮助开发者解决跨平台开发中的配置难题,提升Qt应用开发效率。特别针对QtCreator新手和需要在多平台切换的开发者提供了全面的配置指南。

weixin_28836507的博客 471

AI数字人直播带货全攻略:从零搭建到高效运营

本文提供了一份从零开始搭建与运营AI数字人直播间的完整指南。详细解析了AI数字人直播带货的核心价值与适用场景,并分步讲解了硬件准备、软件选择、数字人创建、话术编排、OBS推流设置及开播测试等关键环节。最后,文章还分享了高效运营策略与常见避坑指南,旨在帮助商家利用AI技术实现降本增效,打造24小时不间断的智能带货直播间。

weixin_29269441的博客 2244

S7-1200与KINCO伺服通信实战:CM CANopen模块配置避坑指南(附完整PDO映射表)

本文详细解析了西门子S7-1200 PLC通过CM CANopen模块与KINCO伺服驱动器的通信配置全流程,重点解决PDO映射混乱、心跳报文配置错误等常见问题。提供硬件组态、参数设置、PDO映射模板及故障排查方案,助力工业自动化系统实现稳定高效的多轴运动控制。

2y3u4i5o6p的博客 1106

【Windows Server 2019】Active Directory Certificate Services 证书颁发机构的安装,配置和管理Ⅰ——AD CS的安装和配置

博文主要介绍了Windows Server 2019的证书颁发机构的安装和配置方法。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 4833

倍福--TwinSAFE功能块的使用

在安全模块的程序设计中,输入变量取反,或者把PLC的变量连接到安全的功能块程序中, 操作流程 1.1. 功能块输出取反 例如修改IN,右击属性,然后可在Single-Channel选项中选择是NO还是NC的输入信号。 1.2. PLC标准变量作为安全程序的输入 1.2.1. 建立两个PLC变量 1.2.2. 安全程序区创建变量 1.2.3. 功能块变量链接 首先,PLC变量不能直接连到Estop功能块的输入变量中,否则会报错,但PLC可以连接到SafeAnd这些功能块,然后再转出来,如下所示

weixin_41883890的博客 5315

手把手教你学simulink(12.10)--设计和仿真一个用于控制飞机纵向运动(高度和速度)的多变量控制系统

飞机的纵向运动控制是航空工程中的一个重要问题,涉及飞机的高度和速度的精确控制。多变量控制系统可以同时控制多个飞行参数,确保飞机在最佳条件下运行。Simulink提供了一个强大的平台,用于建模、仿真和分析动态系统,非常适合设计和测试多变量控制系统。通过本项目的实施,我们成功设计和仿真了一个用于控制飞机纵向运动(高度和速度)的多变量控制系统。该项目展示了从系统建模、控制器设计、仿真验证到结果分析的完整流程,为多变量控制系统的设计提供了有价值的参考。

MHD0815的博客 598

提升ARM Cortex-M系统性能的关键技术:TCM技术解析与实战指南

TCM技术为ARM Cortex-M处理器提供了宝贵的确定性性能提升手段,特别适合对时序敏感的实时应用。通过合理配置和优化,工程师可以显著提高系统性能、降低中断响应时间并优化功耗。随着嵌入式系统对实时性要求的不断提高,TCM技术将在工业控制、汽车电子、医疗设备等领域发挥更加重要的作用。未来,ARM处理器可能会进一步扩展TCM容量并优化其与其他内存子系统的协同工作方式,为开发者提供更强大的实时性能保障。

1681

G120变频器抱闸逻辑在提升机上应用

一、前言: 对于提升机、起重机、堆垛机、升降机等提升机构,负载为位能性负载,在设备启动和停止阶段,由于重物作用,可能会出现“溜车”现象、控制变频器与电机抱闸时许可以解决此问题 使用具有矢量控制功能的变频器 二、参数设置 抱闸控制时序: 启动: 1、变频器接收到启动命令时-----输出电流对电机进行励磁,经过P346电机励磁时间(==丹佛斯 设置启动电流延时0.5S)------达到一定的转矩 2、变频器输出开抱闸命令,经过P1216延时打开抱闸时间(==PLC延时控制打开抱闸) 注意:抱闸

fenglingxicao的博客 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: Python音乐平台Django实战(—)
下一篇: Python音乐平台Django实战(三)
Python_P叔
博客等级 码龄3年 5454粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值