Django正则接口+vue路由

802 阅读1分钟

前情提要

在自己的个人博客项目,从Django+jquery进化到Django+vue.js的过程中。使用了vue的路由,vue自己通过index.html页面和router的index.js去匹配页面内容,就不用通过Django一个个的返回不同的html文件了。

那么就会出现一个问题

出现问题

在路由地址发生改变,会想后端请求东西,或者刷新的时候就会返回一个没有这个接口的报错。就需要在那个路由的路径范围里,都给前端返回index.html

因为在一开始,接触Django的时候,印象里是url本来就是要以正则的写法去写的,然后试了试,发现报错了。

面向百度编程

百度了一下发现,Django2点几以后呢,想在urls.py里使用正则,需要导入一个包

from django.urls import path, re_path

然后正则的内容要写成re_path()的形式

所以以我自己的代码为例,正则接口的代码就是这样的

re_path(r'^profile.*', TemplateView.as_view(template_name='index.html')),

这样只要我在vue的路由下,路径是profile开头的,都是返回index页面,就不会去调空接口了