这是工作中的一个练手项目总結一下得失,因为水平有限不保证使用的术语和实现方法是正确的,如果有读者发现问题希望能帮忙指出,这里表示感谢
本篇文章不展示完整的代码不适用于初学者学习,但遇到的问题可以借鉴
- 这个项目后端使用了djang由于不需要对数据库进行操作,实际上只用到了视圖(views)系统
- 前端使用了Element ui,而vue则直接采用了声明式渲染(这里埋下了一个大坑)
- 发送请求使用了axios但是页面跳转则通过django的TemplateResponse()函数实现,所以并没有前後端分离
这里发送请求后返回了403错误,可以看到我的请求地址是本地"127.0.0.1"查找资料后发现使用axios后会出现跨域请求问题,网上大多是资料的解决办法是跳过跨域验证但防跨域是一个生产中经常用到的一个技术。
django的解决办法是CSRF这是我参考的文章:
在编写页面的过程中,由于同時使用了vue和django导致模板发生冲突,默认情况下使用{{}}用的是django的模板语法想用vue的{{}},可以屏蔽掉django模板代码如下
还遇到一种情况是,我需要从頁面上取数据既然vue不推荐直接操作dom,那按照官网上的文档使用refs,代码如下
这个方法在vue官网的:迁移——v-ef和v-ref中