标签:index VUE processors 前端 django context path Django 交互
五、整合 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。