其他分享
首页 > 其他分享> > Django+VUE交互——第三部分

Django+VUE交互——第三部分

作者:互联网

五、整合 django 和 vue.js 前端

目前我们已经分别完成了 django 后端和 vue.js 前端工程的创建和编写,但实际上它们是运行在各自的服务器上,和我们的要求是不一致的。

在前端工程目录下,输入 npm run build,如果项目没有错误的话,就能够看到所有的组件、css、图片等都被 webpack 自动打包到 dist 目录下了,里面有一个 index.html 和一个文件夹 static。

 

 

 修改 djangovue 下的 urls ,使用通用视图创建最简单的模板控制器,访问 『/』时直接返回 index.html

from django.contrib import admin
from django.urls import path, include
from django.views.generic import templateview
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('backend.urls')),
    path(r'', templateview.as_view(template_name="index.html")),
]

配置 django 项目的模板搜索路径。上一步使用了 django 的模板系统,所以需要配置一下模板使 django 知道从哪里找到 index.html。修改 settings.py 文件,如下:

templates = [
    {
        'backend': 'django.template.backends.django.djangotemplates',
        # 'dirs': [os.path.join(base_dir, 'templates')],
        'dirs': [os.path.join(base_dir, 'frontend/dist')],
      # frontend 为前端项目文件名称 '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,'frontend/dist/static'))]

配置完成,启动 django 服务 python manage.py runserver,就能够看到我们的前端页面在浏览器上展现:

 

 此时服务的端口已经是 django 服务的 8000 而不是 node 服务的 8080 了,说明我们已经成功通过 django 集成了 vue 前端工程。

 

 

标签:index,VUE,processors,前端,django,context,path,Django,交互
来源: https://www.cnblogs.com/like1824/p/16481707.html