# 基于Vue2.0、Element-UI、Django、MySQL实现的学生管理系统
**实现前后端分离,前端使用Vue2.0、Element-UI,后端使用Django,数据库选用MySQL**
**实现管理员登录、注册、修改密码,未登录不能进入主页面,采用路由守卫和localStorage**
**实现对学生数据的增删改查,对课程数据的增删改查**
**实现对学生院系分布情况和学生专业人数统计的统计图表**
**具体页面效果可查看pic文件夹**
![登录界面](https://github.com/Aomr1/Vue2.0-Element-UI-Django-MySQL/blob/main/pic/%E7%99%BB%E5%BD%95%E7%95%8C%E9%9D%A2.png)
![学生管理界面](https://github.com/Aomr1/Vue2.0-Element-UI-Django-MySQL/blob/main/pic/%E5%AD%A6%E7%94%9F%E7%AE%A1%E7%90%86%E7%95%8C%E9%9D%A2.png)
![课程管理界面](https://github.com/Aomr1/Vue2.0-Element-UI-Django-MySQL/blob/main/pic/%E8%AF%BE%E7%A8%8B%E7%AE%A1%E7%90%86%E7%95%8C%E9%9D%A2.png)
## 1. 创建Django项目、Vue项目和sims_app
#### Anaconda下
到项目创建的目录下,输入:
```shell
django-admin startproject sims_project
cd sims_project
python manage.py startapp sims_app
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
```
#### Cmd下
到sims_project同级目录下,输入:
```shell
vue create sims_vue
```
选择vue2版本,一直默认即可
vscode中安装所需要的包:
```shell
npm install echarts@4.6.0
npm install vue-router@3.2.0
npm i element-ui
npm i vuex@3
npm install axios
```
#### 打包
原文链接:https://blog.csdn.net/weixin_53072519/article/details/122186102
在根目录 src 下创建文件 vue.config.js,需注意文件名称必须是 vue.config.js,然后在文件中插入以下代码:
```javascript
//打包配置文件
module.exports = {
lintOnSave:false,
assetsDir: 'static',
parallel: false,
publicPath: './',
devServer: { //启动项目在8000端口自动打开
open: true,
host:'0.0.0.0',
port: 8000,
proxy: 'http://localhost:8000',
},
};
```
将Vue路由及前端页面全部搭建完,**即写完所有Vue代码后**,输入打包命令:
```shell
npm run build
```
然后将打包后的dist文件移动至sims_project文件夹里
#### 项目结构
![项目结构](https://github.com/Aomr1/Vue2.0-Element-UI-Django-MySQL/blob/main/pic/%E6%80%BB%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.png)
#### 启动项目
在Anaconda下输入python manage.py runserver,默认打开8000端口,复制链接到浏览器即可
## 2. 修改Django默认配置
```python
#1. 注释掉csrf验证
'django.middleware.csrf.CsrfViewMiddleware',
#2. 在DIRS中添加templates模板,可在里面写入html
'DIRS': [os.path.join(BASE_DIR,'templates')],
#3. 修改语言配置和时区
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
#4. 加入静态文件static及指定存放位置
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)
#5. 在与manage.py同级的目录下创建templates和static文件夹
#6. 在INSTALLED_APPS下引入sims_app
#7. 配置mysql数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 引擎,使用 mysql
'NAME': 'sims_data', # 数据库名称
'USER': 'root', # 数据库的登录用户名
'PASSWORD': '412412412', # 数据库的登录的密码
'HOST': '127.0.0.1', # 数据库所在的主机
'PORT': 3306, # 数据库使用的端口号
}
}
```
## 3. 解决Vue和Django跨域问题
```python
#8. vue和django跨域问题 原文链接:https://blog.csdn.net/qq_44614115/article/details/113578276
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
]
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
['http://127.0.0.1:*']
)
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
)
#9. 修改setting.py 原文链接:http://t.zoukankan.com/lymmurrain-p-13894342.html
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),# 项目默认会有的路径,如果你部署的不仅是前端打包的静态文件,项目目录static文件下还有其他文件,最好不要删
os.path.join(BASE_DIR, "dist/static"),# 加上这条
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'),
os.path.join(BASE_DIR,'dist')] # 加上这条,其余的是默认配置
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
#10. 修改vue里的vue.config.js,写入代理
devServer: { //启动项目在8000端口自动打开
open: true,
host:'0.0.0.0',
port: 8000,
proxy: 'http://localhost:8000',
},
```
## 4. 修改sims_project里的urls.py
```python
from django.contrib import admin
from django.urls import path
from django.urls import include
from django.views.generic import TemplateView
urlpatterns = [
path('', TemplateView.as_view(template_name="index.html")),
path('admin/', admin.site.urls),
path('sims_app/',include('sims_app.urls'))
]
```
## 5. 修改sims_project里的setting.py
```python
"""
Django settings for sims_project project.
Generated by 'django-admin startproject' using Django 3.2.5.
For more information on this file, see
https://docs.djangoproject.com/en/3.2/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.2/ref/settings/
"""
from pathlib import Path
import os
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-z2!yleni%xmrgse#tanw_x&paan8(ser+bjr&6%dapgj^za^h-'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
'sims_app'
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'sims_project.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.dja
没有合适的资源?快使用搜索试试~ 我知道了~
基于Vue2.0、Element-UI、Django、MySQL实现的学生管理系统.zip
共85个文件
js:15个
vue:12个
map:12个
0 下载量 199 浏览量
2024-08-19
09:20:57
上传
评论
收藏 9.46MB ZIP 举报
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等。【若无VIP,此资源可私信获取】 【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于整理和收集资料耗费时间的酬劳 3. 积分资源不提供技术指导/答疑
资源推荐
资源详情
资源评论
收起资源包目录
基于Vue2.0、Element-UI、Django、MySQL实现的学生管理系统.zip (85个子文件)
DSmysqlffv1
db.sqlite3 128KB
pic
登录界面.png 2.43MB
专业人数统计界面.png 164KB
院系分布情况界面.png 229KB
总项目结构.png 85KB
首页.png 209KB
课程管理界面.png 146KB
学生管理界面.png 157KB
修改密码界面.png 2.42MB
vue前端项目结构.png 50KB
sims_project
wsgi.py 417B
urls.py 994B
settings.py 5KB
asgi.py 417B
views.py 181B
sims_vue
src
pages
CollegeCount.vue 3KB
Reg.vue 7KB
ChangePwd.vue 8KB
Login.vue 6KB
Home.vue 8KB
Course.vue 13KB
Student.vue 14KB
Main.vue 842B
CollegeDist.vue 2KB
App.vue 289B
assets
background.jpg 318KB
logo.png 7KB
avatar.jpg 92KB
main.js 522B
components
Aside.vue 3KB
Header.vue 4KB
router
index.js 2KB
package.json 984B
public
favicon.ico 4KB
index.html 917B
package-lock.json 1.04MB
vue.config.js 249B
README.md 320B
dist
favicon.ico 4KB
index.html 2KB
static
js
chunk-107c1eee.05e309ae.js 3KB
chunk-6426adda.dffe6813.js 822KB
chunk-2d2132d9.0008f16f.js 2KB
chunk-54befe09.0d7e9a7d.js 4KB
chunk-54befe09.0d7e9a7d.js.map 14KB
chunk-1c9bc7ae.1fc1650f.js 5KB
chunk-6426adda.dffe6813.js.map 4.42MB
chunk-107c1eee.05e309ae.js.map 13KB
chunk-2d0df409.abb318cc.js 2KB
chunk-4e4765fd.85d3e4a2.js.map 21KB
chunk-1c7e35e8.4b898c3e.js.map 32KB
chunk-1b19db7a.6b861100.js.map 16KB
chunk-1c7e35e8.4b898c3e.js 9KB
chunk-4e4765fd.85d3e4a2.js 5KB
chunk-1c9bc7ae.1fc1650f.js.map 22KB
app.485a6a76.js 6KB
chunk-2d0df409.abb318cc.js.map 6KB
chunk-3a3fe2c6.deb3284e.js.map 30KB
app.485a6a76.js.map 23KB
chunk-vendors.06ed812b.js 825KB
chunk-2d2132d9.0008f16f.js.map 7KB
chunk-vendors.06ed812b.js.map 3.19MB
chunk-3a3fe2c6.deb3284e.js 8KB
chunk-1b19db7a.6b861100.js 4KB
img
background.d8b91f57.jpg 318KB
avatar.66a5b828.jpg 92KB
css
chunk-vendors.caa671fd.css 210KB
chunk-4e4765fd.674cb1ab.css 501B
app.0cbef414.css 59B
chunk-107c1eee.a958a055.css 882B
chunk-3a3fe2c6.bf923633.css 109B
chunk-1c7e35e8.67e92a49.css 107B
chunk-1c9bc7ae.1f7362ae.css 1KB
chunk-54befe09.b7aa41ad.css 738B
chunk-1b19db7a.196c3696.css 720B
fonts
element-icons.535877f5.woff 28KB
element-icons.732389de.ttf 55KB
manage.py 690B
package.json 80B
package-lock.json 19KB
sims_app
admin.py 66B
migrations
0001_initial.py 2KB
apps.py 153B
get_dist_data.py 1KB
README.md 23KB
共 85 条
- 1
资源评论
热爱技术。
- 粉丝: 2921
- 资源: 7864
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 永磁同步电机旋转高频信号注入法零低速无位置控制仿真,相比高频方波信号注入法,旋转高频信号注入法噪声更小损耗更低,该模型注入1000Hz旋转高频电压信号到电机中用于产生激励电流,在低速100rpm下无感
- jQuery实现的带左右切换按钮鼠标滑过图片向上弹出放大动态特效源码.zip
- 电子电气架构中整车网络管理与休眠唤醒机制详解
- jQuery实现点击按钮爆炸式弹出不同颗粒动画特效源码.zip
- 管材切割机sw18全套技术资料100%好用.zip
- 基于STM32环境温湿度监测系统设计(附项目代码zip)
- 钢板折边机sw18全套技术资料100%好用.zip
- IMG_20250104_163933.jpg
- win32汇编环境,理解BeginPaint函数与GetDC函数的区别
- SMTP(2).zip
- 过滤器清洗机step全套技术资料100%好用.zip
- CCNA-200-301.pdf
- 计算机视觉中圆与椭圆超最小二乘拟合算法(HyperLS)的理论与实验研究
- COMSOL 一维电化学模型和热模型 很重要,P2D模型计算 可以得到准确的热源 同时也可以仿真电压得到准确的数据 拟合即可使用 不用担心审稿人问你数据来源
- 轨道式可调铁板分张器sw19可编辑全套技术资料100%好用.zip
- 环形柔性链输送机sw16可编辑全套技术资料100%好用.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功