当前位置:首页 > VUE

Django加Vue实现音乐

2026-02-23 04:15:15VUE

Django 后端搭建

安装 Django 及相关依赖:

pip install django djangorestframework django-cors-headers

创建 Django 项目和应用:

django-admin startproject music_backend
cd music_backend
python manage.py startapp api

配置 settings.py

INSTALLED_APPS = [
    ...
    'rest_framework',
    'corsheaders',
    'api',
]

MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware',
]

CORS_ORIGIN_ALLOW_ALL = True

创建音乐模型(api/models.py):

from django.db import models

class Music(models.Model):
    title = models.CharField(max_length=200)
    artist = models.CharField(max_length=200)
    audio_file = models.FileField(upload_to='musics/')
    cover_image = models.ImageField(upload_to='covers/')

序列化模型(api/serializers.py):

from rest_framework import serializers
from .models import Music

class MusicSerializer(serializers.ModelSerializer):
    class Meta:
        model = Music
        fields = '__all__'

创建视图(api/views.py):

from rest_framework import viewsets
from .models import Music
from .serializers import MusicSerializer

class MusicViewSet(viewsets.ModelViewSet):
    queryset = Music.objects.all()
    serializer_class = MusicSerializer

配置路由(api/urls.py):

from rest_framework.routers import DefaultRouter
from .views import MusicViewSet

router = DefaultRouter()
router.register(r'musics', MusicViewSet)

Vue 前端搭建

创建 Vue 项目:

vue create music_frontend
cd music_frontend
npm install axios vue-router vuex

配置 API 调用(src/api/index.js):

import axios from 'axios'

const api = axios.create({
    baseURL: 'http://localhost:8000/api/'
})

export default {
    getMusics() {
        return api.get('musics/')
    }
}

创建音乐播放组件(src/components/MusicPlayer.vue):

<template>
    <div>
        <audio controls :src="currentMusic.audio_file"></audio>
        <h3>{{ currentMusic.title }}</h3>
        <p>{{ currentMusic.artist }}</p>
        <img :src="currentMusic.cover_image" alt="Cover">
    </div>
</template>

<script>
export default {
    data() {
        return {
            currentMusic: {}
        }
    },
    async created() {
        const response = await this.$api.getMusics()
        this.currentMusic = response.data[0]
    }
}
</script>

前后端联调

启动 Django 开发服务器:

python manage.py runserver

启动 Vue 开发服务器:

Django加Vue实现音乐

npm run serve

确保 Django 的 CORS_ORIGIN_ALLOW_ALL 设置为 True 以允许跨域请求。通过 Vue 组件调用 Django API 获取音乐数据并播放。

标签: 音乐Django
分享给朋友:

相关文章

Django加Vue实现音乐

Django加Vue实现音乐

Django 后端搭建 安装 Django 和相关依赖: pip install django djangorestframework django-cors-headers 创建 Django 项…

js实现音乐

js实现音乐

使用Web Audio API播放音乐 Web Audio API提供强大的音频处理能力,适合实现音乐播放、音效控制等需求。 // 创建音频上下文 const audioContext = ne…

uniapp安卓音乐

uniapp安卓音乐

开发环境准备 确保已安装HBuilderX,并配置好Android开发环境(JDK、Android Studio等)。创建UniApp项目时选择默认模板或音乐类模板。 音频播放功能实现 使用uni.…

vue实现音乐评论

vue实现音乐评论

实现音乐评论功能的基本思路 音乐评论功能通常包含评论列表展示、发表评论、回复评论等模块。Vue.js 的响应式特性和组件化开发能高效实现这一需求。 核心组件结构 CommentList.vue…

vue实现音乐页面

vue实现音乐页面

实现音乐页面的关键步骤 搭建基础框架 使用Vue CLI或Vite创建项目,安装必要依赖如vue-router、axios。创建路由配置,设置音乐页面为独立路由组件。 音频播放器核心组件 通过HTM…

vue实现音乐项目

vue实现音乐项目

Vue 实现音乐项目的基本步骤 项目初始化与依赖安装 使用 Vue CLI 或 Vite 初始化项目,安装必要的依赖库。例如: npm create vue@latest music-app cd…