Django+Vue前后端分离项目

本文介绍了一个使用Python Django Ninja后端、Vue3前端和sqlite3数据库的音乐列表项目的实现过程。涵盖了环境配置、数据模型、API接口、前端页面布局以及解决跨域和Element UI问题的方法。

导语

编码三原则:

  • 实用为主,效果为主
  • 官网是最好的教程,其它只是辅助
  • 不要重复造轮子,但应该知道其工作原理

第一个项目,让我们从简单一点的开始:音乐列表

技术栈

  • 后端:Python、Django(Ninja)、
  • 前端:Vue3、Ts、vite
  • 数据库:sqlite3

视频教程
代码地址

提醒:Ninja是Django框架所用的一个库,如果需要了解,请移步官网,或者我的教程

后端实现

参考项目
基本版本信息:
Python:3.8.10
Django:4.0.7
Django-ninja:0.17.0

DjangoVue 前后端分离项目通常具有以下典型的目录结构: ### Django 后端项目目录结构 ```plaintext backend/ # Django 项目根目录 ├── manage.py # Django 项目管理脚本 ├── backend/ # 项目配置目录 │ ├── __init__.py # 初始化文件 │ ├── settings.py # 项目设置文件 │ ├── urls.py # 项目 URL 配置文件 │ └── wsgi.py # WSGI 配置文件 ├── apps/ # 存放应用的目录 │ ├── app1/ # 应用 1 │ │ ├── __init__.py │ │ ├── admin.py # 应用的管理界面配置 │ │ ├── apps.py # 应用的配置文件 │ │ ├── models.py # 应用的数据模型 │ │ ├── tests.py # 应用的测试代码 │ │ └── views.py # 应用的视图函数 │ └── app2/ # 应用 2 │ ├── ... ├── static/ # 静态文件目录 │ ├── css/ # CSS 文件 │ ├── js/ # JavaScript 文件 │ └── images/ # 图片文件 ├── media/ # 上传的媒体文件目录 ├── templates/ # 模板文件目录(在前后端分离中一般较少使用) └── requirements.txt # 项目依赖的 Python 包列表 ``` ### Vue 前端项目目录结构 ```plaintext frontend/ # Vue 项目根目录 ├── node_modules/ # 项目依赖的 Node.js 模块 ├── public/ # 公共静态资源目录 │ ├── index.html # 入口 HTML 文件 │ └── favicon.ico # 网站图标 ├── src/ # 源代码目录 │ ├── assets/ # 静态资源目录,如图片、字体等 │ ├── components/ # 组件目录 │ │ ├── Component1.vue # 组件 1 │ │ └── Component2.vue # 组件 2 │ ├── views/ # 视图组件目录 │ │ ├── Home.vue # 首页视图 │ │ └── About.vue # 关于页面视图 │ ├── router/ # 路由配置目录 │ │ └── index.js # 路由配置文件 │ ├── store/ # Vuex 状态管理目录 │ │ └── index.js # Vuex 配置文件 │ ├── App.vue # 根组件 │ └── main.js # 入口 JavaScript 文件 ├── tests/ # 测试代码目录 ├── .env # 环境变量配置文件 ├── package.json # 项目依赖和脚本配置文件 └── vue.config.js # Vue 项目配置文件 ``` 在前后端分离项目中,前端打包后生成的 `dist` 目录通常包含静态 HTML、CSS、JavaScript 文件等,这些文件可以部署到静态文件服务器或者由后端服务器提供服务。根据引用,前端写完后进行打包会生成 `dist` 文件,Django 后端需要将 `TemplateView` 指向这个前端 `dist` 文件 [^1]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值