如何设置Django支持跨域请求并构建测试API接口?

2026-05-05 11:131阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计364个文字,预计阅读时间需要2分钟。

如何设置Django支持跨域请求并构建测试API接口?

1. 跨域原理 - 首先浏览器安全策略限制:限制跨域请求 - 限制方式:限制js+ajax跨域访问服务器

2. 解决方法 - 服务器端设置:允许特定域名访问 - 示例:若服务器返回头部信息中含有当前域名,则允许访问: Access-Control-Allow-Origin: http://localhost:8080

1.跨域原理

1. 首先浏览器安全策略限制js ajax跨域访问服务器

如何设置Django支持跨域请求并构建测试API接口?

2. 如果服务器返回的头部信息中有当前域:

// 允许 localhost:8080 这个网站打开的页面中的js访问我 Access-Control-Allow-Origin: localhost:8080 // 允许携带cookie访问我 Access-Control-Allow-Credentials: true

那么, 浏览器可以让js 请求该服务器

2.django cors设置:

1. 安装包 pip install django-cors-headers 2. 注册应用 INSTALLED_APPS = [ ... # 添加 django-cors-headers 使其可以进行 cors 跨域 'corsheaders' ] 3. 添加中间件 MIDDLEWARE = [ # 放在中间件第一个 'corsheaders.middleware.CorsMiddleware', ... ] 4. 设置 # CORS跨域请求白名单设置 CORS_ORIGIN_WHITELIST = ( '127.0.0.1:8080', 'localhost:8080', ) CORS_ALLOW_CREDENTIALS = True # 允许携带cookie

3.登录接口测试

3.1 user/usrs.py 中配置路由

urlpatterns = [ path('login/', views.login), ]

3.2 user/views.py 中写一个login视图函数

from django.192.168.56.100:8888/user/login/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计364个文字,预计阅读时间需要2分钟。

如何设置Django支持跨域请求并构建测试API接口?

1. 跨域原理 - 首先浏览器安全策略限制:限制跨域请求 - 限制方式:限制js+ajax跨域访问服务器

2. 解决方法 - 服务器端设置:允许特定域名访问 - 示例:若服务器返回头部信息中含有当前域名,则允许访问: Access-Control-Allow-Origin: http://localhost:8080

1.跨域原理

1. 首先浏览器安全策略限制js ajax跨域访问服务器

如何设置Django支持跨域请求并构建测试API接口?

2. 如果服务器返回的头部信息中有当前域:

// 允许 localhost:8080 这个网站打开的页面中的js访问我 Access-Control-Allow-Origin: localhost:8080 // 允许携带cookie访问我 Access-Control-Allow-Credentials: true

那么, 浏览器可以让js 请求该服务器

2.django cors设置:

1. 安装包 pip install django-cors-headers 2. 注册应用 INSTALLED_APPS = [ ... # 添加 django-cors-headers 使其可以进行 cors 跨域 'corsheaders' ] 3. 添加中间件 MIDDLEWARE = [ # 放在中间件第一个 'corsheaders.middleware.CorsMiddleware', ... ] 4. 设置 # CORS跨域请求白名单设置 CORS_ORIGIN_WHITELIST = ( '127.0.0.1:8080', 'localhost:8080', ) CORS_ALLOW_CREDENTIALS = True # 允许携带cookie

3.登录接口测试

3.1 user/usrs.py 中配置路由

urlpatterns = [ path('login/', views.login), ]

3.2 user/views.py 中写一个login视图函数

from django.192.168.56.100:8888/user/login/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。