django2.2 结合 vue.js 开发
最近在用django开发后端,配合同学的vue.js前端。没用过vue.js 搜啦下教程终于解决啦。
增加中间件
'corsheaders.middleware.CorsMiddleware',
CORS_ORIGIN_ALLOW_ALL = True
完成后setting.py长这样
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
编译前端代码
进入前端文件夹 新建一个文件vue.config.js
module.exports = {
// 指定`build`时,在静态文件上一层添加static目录
assetsDir: 'static',
};
编译代码
npm install
npm run build
得到啦dist文件夹
配置路径
'DIRS': ['dist'],
配置后setting长这样
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['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',
],
},
},
]
配置url
我们这里直接配置首页为localhost
from django.views.generic import TemplateView
path('', TemplateView.as_view(template_name="index.html")),
配置后urls.py长这样
from django.contrib import admin
from django.urls import path
from django.views.generic import TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
path('', TemplateView.as_view(template_name="index.html")),
]
配置静态文件
在setting.py末尾添加
# Add for vuejs
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "dist/static"),
]
启动服务器
python3 manage.py runserver 8765
访问网站
终于部署好啦,现在可以开始愉快的按照API文档写数据交互啦