Django day32 跨域问题,创建vue项目,axios的使用

一:跨域问题

  1、同源策略(浏览器的安全策略)
    只允许当前页面朝当前域下发请求,如果向其他域发请求,请求可以正常发送,数据也可以拿回,但是被浏览器拦截了
  2、cors:只要服务器实现了CORS,就可以实现跨域资源共享
  (1)简单请求
    只发一次请求
  (2)非简单请求:
    发两次请求:一次预检(OPTION请求),只有服务端允许发请求,才能继续发第二次正常请求,一次真正的请求
  3、服务端如何处理:
  (1)写在中间件中:

from django.utils.deprecation import MiddlewareMixin
class MyCorsMiddle(MiddlewareMixin):
    def process_response(self,request,response):
        # 简单请求:
        # 允许http://127.0.0.1:8001域向我发请求
        # ret['Access-Control-Allow-Origin']='http://127.0.0.1:8001'
        # 允许所有人向我发请求
        response['Access-Control-Allow-Origin'] = '*'
        if request.method == 'OPTIONS':
            # 所有的头信息都允许
            response['Access-Control-Allow-Headers'] = '*'
        return response

  (2)在setting中配置中间件即可

二:创建vue项目 

1、创建vue项目:
  (1)安装node.js
  (2)vue脚手架
  (2)项目名字:vue create 
  (4)pycharm开发vue项目:
    需要安装vue.js插件
    setting--->plugins--->左下方install---->去搜索---->下载--->重启
  (5)运行vue项目
    editconfigration--->+--->npm--->run serve

 

2、vue目录结构:

  node_modules:项目依赖(以后项目要传到git上,这个不能传)
  publish--->index.html 是总页面
  src:项目
  assets:静态资源
  components:组件
  views:视图组件
  APP.vue:根组件
  main.js :总的入口js
  router.js :路由相关,所有路由的配置,在这里面
  store.js :vuex状态管理器
  package.json:项目的依赖,npm install 是根据它来安装依赖的

 

3、每个组件会有三部分:

  (1)template
  (2)style
  (3)script

 

 

 

三:axios的使用

 

posted @ 2018-12-28 17:22  温暖你的心  阅读(255)  评论(0编辑  收藏  举报