Advertisement

django-vue前后端分离项目

阅读量:

目录

    • 创建项目

    • 前后端分离设置

      • 1、跨域问题
      • 2、前端打包(以及静态资源问题)
    • 项目运行

创建项目

复制代码
    django-admin startproject mysite #创建django项目
    
    cd mysite # 进入django项目
    
    vue init webpack appfront #创建vue项目
    #这样创建的好处是vue的根目录在django的BASE_DIR下(后面会用到)

各种初始化…

前后端分离设置

1、跨域问题

  1. 安装模块
复制代码
    # 在django项目根目录下
    pip install django-cors-headers
  1. 修改django项目的setting.py 文件
复制代码
    INSTALLED_APPS = [
    ...
    # demo
    'corsheaders',
    ...
    ]
    
    MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware', # 需注意与其他中间件顺序,这里放在最前面即可
    ...
    ]
    
    # 支持跨域配置开始
    CORS_ORIGIN_ALLOW_ALL = True
    CORS_ALLOW_CREDENTIALS = True

2、前端打包(以及静态资源问题)

  1. 在前端项目的根目录
复制代码
    npm run build #打包完在根目录下多了个dist文件
  1. 修改django项目的setting.py 文件
复制代码
    #...
    # 下面的路径就表明了为什么刚刚前端要创建在后端项目的根目录下
    TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'appfront/dist')], # demo add
        ...
    },
    ]
    #...
    # 静态资源,不设置访问不到
    STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'appfront/dist/static'),
    ]
    #..
  1. 修改项目urls.py 文件
复制代码
    #...
    from django.views.generic.base import TemplateView
    
    urlpatterns = [
    #...
    path('', TemplateView.as_view(template_name='index.html'))
    ]

项目运行

在后端项目的根目录下

复制代码
    python manage.py runserver

项目运行后访问默认的url即可,http://127.0.0.1:8000/
参考

全部评论 (0)

还没有任何评论哟~