背景
前段时间感觉自己使用Hexo搭建的个人独立博客使用起来颇为无力(大抵是多说关服的原因),遂萌生出了自己给自己定制一个博客的想法,恰巧又赶上了学校的“软件课程设计”,要求做一个基于数据库的软件,于是借此契机,筹划自己博客的开发。然而学校这边的条条杠杠是很多的,不得不把自己本来的需求“个人博客”更改为“博客平台”。考虑到自己前台功底实在不敢恭维,于是拉了隔壁寝专攻前台的江某某合作。经过江某某的一番教诲,我们决定采用前后端完全解耦的MVVM开发模式,即他使用Vue.js开发前端,我使用Django开发后端接口API。
于是乎,我们便碰上了Ajax跨域调用时产生的一系列问题,不过谢天谢地,问题都被顺利的解决了^_^。
ps:网上的解决方案大多是Java版本,此处提供Django的解决方案。
跨域调用
前端单纯的想要通过ajax跨域调用后端提供的API是比较简单的,可谓是前人栽树,后人乘凉,ottoyiu提供了解决Django跨域问题的插件django-cors-headers。
它的使用方法在github上介绍的是很详尽的,我这里总结一下基本的东西:
首先下载这个插件
pip install django-cors-headers
然后在你的Django项目中的settings.py中做如下配置(install app和middleware):