Django+vue 前后端分离(练习)
安装vue
1、首先安装node.js,官网地址:https://nodejs.org/zh-cn/download/
2,使用npm淘宝镜像,避免npm下载速度过慢的问题 npm install -g cnpm --registry=https://registry.npm.taobao.org
3,使用npm 下载 vue-cli npm install -g cue-cli
创建项目
使用pycharm 创建Django项目(在pycharm中的Terminal中)
1,python manage.py startapp XXX 创建项目app作为Django后端
2,vue-init webpack XXX 创建项目app作为vue前端(会出现很多你需要安装的东西 按需要安装)
3,使用 webpack 打包VusJS项目(会生成一个 文件夹名字叫dist,里面有一个 index.html 和一个 文件夹static.)
cd 到vue前端app目录下
1,npm install
2,npm run build
4,在urls.py中添加
url(r'^$', TemplateView.as_view(template_name="index.html")),
5,pycharm 添加 django-cors-headers
6,在setting.py中修改配置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 'DIRS': [os.path.join(BASE_DIR, 'templates')],
'DIRS': [os.path.join(BASE_DIR, 'XXX/dist')], //vue的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',
],
},
},
]
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "XXX/dist/static"), //vue的static
]
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',
]
CORS_ORIGIN_ALLOW_ALL = True //添加
然后启动Django项目就可以了
添加链接描述 借鉴这篇文章