前言:最近做了一个前后端自己独立开发的项目,前端使用Vue,后端使用Django,研究了一下django rest api 的跨域处理和权限管理

跨域的问题前端也可以解决后端也可以解决:
如vue框架解决跨域问题是使用代理:
再:config => index.js文件下
这里写图片描述

 proxyTable: {
      '/api': {
        target: 'http://192.168.88.132:8000', //api端口
        changeOrigin: true,   //允许跨域
        pathRewrite: {
          '^/api': 'preview'
        }
      }
    },

pathRewrite可以是一个方法也可以是一个对象。
详情见:vue跨域请求


Django跨域和后台API权限管理:

django使用restapi设置权限管理:
详见django跨域

但是还是会有csrf验证不通过。这是rest的原因。所以需要将csrf关闭。只能写一个middleware来关闭。

# coding:utf-8
from django.utils.deprecation import MiddlewareMixin


class DisableCSRF(MiddlewareMixin):
    def process_request(self, request):
        setattr(request, '_dont_enforce_csrf_checks', True)
Logo

前往低代码交流专区

更多推荐