+-
django使用csrf防止跨域报错
首页 专栏 django 文章详情
0

django使用csrf防止跨域报错

Bill 发布于 4 月 16 日

下载依赖

pip install django-cors-headers

注册应用

INSTALLED_APPS = [ ... 'corsheaders' , ... ]

添加中间件

CorsMiddleware应放在尽可能高的,特别是可以产生如Django的回应任何中间件之前 CommonMiddleware或白噪声的 WhiteNoiseMiddleware
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware' , # 下面这句是默认的第一句 'django.middleware.common.CommonMiddleware' , ... ]

为视图添加注解

from django.views.decorators.csrf import csrf_exempt @csrf_exempt def user_login(request): ...

额外的设置

# settings.py # 跨域django-cors-headers配置 CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_ALLOW_ALL = True # 授权进行跨站点HTTP请求的来源列表 CORS_ALLOW_ORIGINS = [ '*' ] # 实际请求所允许的HTTP动词列表。默认为 CORS_ALLOW_METHODS = [ 'DELETE' , 'GET' , 'OPTIONS' , 'PATCH' , 'POST' , 'PUT' , ] # 发出实际请求时可以使用的非标准HTTP标头的列表。默认为: CORS_ALLOW_HEADERS = [ 'accept' , 'accept-encoding' , 'authorization' , 'content-type' , 'dnt' , 'origin' , 'user-agent' , 'x-csrftoken' , 'x-requested-with' , ]

更多配置信息

django csrf python3.x cors
阅读 54 发布于 4 月 16 日
举报
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
avatar
Bill

职业:网管

151 声望
8 粉丝
关注作者
0 条评论
得票数 最新
提交评论
avatar
Bill

职业:网管

151 声望
8 粉丝
关注作者
宣传栏
目录

下载依赖

pip install django-cors-headers

注册应用

INSTALLED_APPS = [ ... 'corsheaders' , ... ]

添加中间件

CorsMiddleware应放在尽可能高的,特别是可以产生如Django的回应任何中间件之前 CommonMiddleware或白噪声的 WhiteNoiseMiddleware
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware' , # 下面这句是默认的第一句 'django.middleware.common.CommonMiddleware' , ... ]

为视图添加注解

from django.views.decorators.csrf import csrf_exempt @csrf_exempt def user_login(request): ...

额外的设置

# settings.py # 跨域django-cors-headers配置 CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_ALLOW_ALL = True # 授权进行跨站点HTTP请求的来源列表 CORS_ALLOW_ORIGINS = [ '*' ] # 实际请求所允许的HTTP动词列表。默认为 CORS_ALLOW_METHODS = [ 'DELETE' , 'GET' , 'OPTIONS' , 'PATCH' , 'POST' , 'PUT' , ] # 发出实际请求时可以使用的非标准HTTP标头的列表。默认为: CORS_ALLOW_HEADERS = [ 'accept' , 'accept-encoding' , 'authorization' , 'content-type' , 'dnt' , 'origin' , 'user-agent' , 'x-csrftoken' , 'x-requested-with' , ]

更多配置信息