django 接口跨域 设置流程总结

[复制链接]
查看: 149   回复: 0

165

主题

165

帖子

948

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
948
2023-10-1 13:08:17   显示全部楼层   阅读模式  
1.jpg

前后端协作开发得时候确实,开发本身这件事情会让跨域有风险,但是远程协作 或者让开发这件事情更加得模块化,或者解耦得话 是需要跨域得操作的


1.安装corsheaders中间件:

  1. pip install django-cors-headers
复制代码

2.设置python文件中得seting文件
1.png


2.png
  1. INSTALLED_APPS = [
  2.     'django.contrib.admin',
  3.     'django.contrib.auth',
  4.     'django.contrib.contenttypes',
  5.     'django.contrib.sessions',
  6.     'django.contrib.messages',
  7.     'django.contrib.staticfiles',
  8.     'app1.apps.App1Config',
  9.     'API.apps.ApiConfig',
  10.     # 让开发得API接口允许跨域
  11.     'corsheaders',
  12. ]

  13. MIDDLEWARE = [
  14.     'django.middleware.security.SecurityMiddleware',
  15.     'django.contrib.sessions.middleware.SessionMiddleware',
  16.     #引入跨域设置开始
  17.     'corsheaders.middleware.CorsMiddleware',
  18.     # 引入跨域设置结束
  19.     'django.middleware.common.CommonMiddleware',
  20.     'django.middleware.csrf.CsrfViewMiddleware',
  21.     'django.contrib.auth.middleware.AuthenticationMiddleware',
  22.     'django.contrib.messages.middleware.MessageMiddleware',
  23.     'django.middleware.clickjacking.XFrameOptionsMiddleware',
  24. ]
复制代码

3.前端ajx接受接口得写法

  1. #跨域设置
  2. CORS_ALLOW_ALL_ORIGINS = True
  3. CORS_ORIGIN_ALLOW_ALL =True
  4. CORS_ALLOW_HEADERS=('*')
复制代码
  1. import { userService} from '../api/user'
  2. let user=ref('')
  3. userService({
  4.     methon: 'GET',
  5.     url: '/api/responseJson',
  6.     headers: {
  7.         'X-Requested-With': 'XMLHttpRequest',
  8.         'Content-Type': 'application/json',
  9.     }
  10. }).then((res) => {
  11.     user.value=res.data
  12. }).catch((error) => {  
  13.     console.error = (msg, ...optionalParams) => {   // 重写 console.error  
  14.         console.log(msg, ...optionalParams);        // 打印到console的信息正常显示  
  15.         return false;                               // 返回false,使得控制台不会显示红色错误  
  16.     };  
  17.     console.error('用户接口请求失败:', error);   
  18. })
复制代码



回复

使用道具 举报

您需要登录后才可以回帖   登录 立即注册

高级模式

南通谢凡软件科技有限公司